
In questa lezione vedremo come usare i Modelli di Eloquent per le operazioni di creazione e aggiornamento nel database.
Creazione nuovo record
Per la creazione di un nuovo record abbiamo due opzioni:
Istanziare il modello e poi salvare il dato nel database
Salvare il dato direttamente nel database
Entrambe le soluzioni sono valide, sarà compito nostro, in un contesto operativo, valutare l’opzione migliore.
Metodo 1
$name = 'Nuovo produttore';
$producer = new Producer(['name' => $name]);
$producer->save();
Metodo 2
$name = 'Nuovo produttore';
$producer = Producer::create(['name' => $name]);
Modifica record
Anche per l’aggiornamento di un record abbiamo due possibili soluzioni tra cui scegliere
Istanziare il modello con l’id corretto, aggiornare le proprietà e salvare il record aggiornato
Usare il metodo update() per aggiornare direttamente il record
Metodo 1
$id = 1;
$producer = Producer::findOrFail($id);
$producer->name = 'Nuovo nome del produttore'
$producer->save();
Metodo 2
$id = 1;
Producer::findOrFail($id)->update(['name' => 'Nuovo nome del produttore']);
Qui forse mi sento di dare un consiglio più pratico: se le proprietà che dobbiamo aggiornare sono molte, conviene usare il secondo approccio. Ma solo per una questione di tempo.
Cancellazione record
Indovinate un pò…anche qui abbiamo a disposizione due metodi
Il metodo destroy() che funziona solo per il Query Builder di Eloquent
Il metodo delete() che funziona solo per l’istanza del modello
Metodo 1
Producer::where('id', '>', 10)->destroy();
Metodo 2
$producers = Producer::where('id', '>', 10)->get();
foreach($producers as $producer) {
$producer->delete();
}