Creazione e aggiornamento di Laravel Eloquent

Creazione e aggiornamento di Laravel Eloquent

Problema

Qual è il modo migliore e più rapido per creare un nuovo record utilizzando Laravel Eloquent o aggiornare il record se esiste ?

$ user = user :: where ('Organization_id', '=', $ organizzation_id)
-> dove ('age', '=', 30)-> first ();
if ($ user == null)
// Inserisci un nuovo record nel database
altro
// Aggiorna il record esistente

Soluzione

Compreso Laravel 6, ci sono stati un paio di modi per creare e aggiornare il tuo record eloquente separatamente. Quello di cui hai bisogno qui è un metodo che fa tutto questo per te. Potresti usare Firstornew o FirstorCreate. La differenza è che il primo restituisce solo un'istanza del modello, il che significa che hai l'oggetto, ma non è stato ancora persistito nel database. Dovresti chiamare il metodo Save () su di esso. L'altro farà tutto questo per te.

$ user = user :: firstorNew (['name' => 'laravel ricette']);
$ utente-> age = input :: get ('age');
$ utente-> salva ();

Di seguito è riportato il collegamento aggiornato dei documenti che si trova nell'ultima versione di Laravel

Documenti qui: link aggiornato