Opprette og oppdatere Laravel veltalende

Opprette og oppdatere Laravel veltalende

Problem

Hva er den beste og raskeste måten å lage en ny plate ved hjelp av Laravel veltalende eller oppdatere posten hvis den eksisterer ?

$ bruker = bruker :: hvor ('organisasjon_id', '=', $ organisasjon_id)
-> hvor ('alder', '=', 30)-> først ();
if ($ bruker == null)
// Sett inn en ny post i databasen
annet
// Oppdater den eksisterende posten

Løsning

Inkludert Laravel 6 har det vært et par måter å lage og oppdatere din veltalende post separat. Det du trenger her er en metode som gjør alt dette for deg. Du kan bruke FirstorNew eller FirstorCreate. Forskjellen er at den første bare returnerer en forekomst av modellen, noe som betyr at du har objektet, men at den ikke har blitt vedvarende inn i databasen ennå. Du må ringe Save () -metoden på den. Den andre vil gjøre alt dette for deg.

$ bruker = bruker :: firstornew (['name' => 'laravel oppskrifter']);
$ bruker-> alder = input :: get ('alder');
$ bruker-> lagre ();

Nedenfor er den oppdaterte lenken til dokumentene som er på den siste versjonen av Laravel

Dokumenter her: Oppdatert lenke