Tworzenie i aktualizacja elokwentu Laravela

Tworzenie i aktualizacja elokwentu Laravela

Problem

Jaki jest najlepszy i najszybszy sposób na utworzenie nowego rekordu za pomocą elokwentu Laravela lub aktualizacji rekordu, jeśli istnieje ?

$ user = user :: gdzie („organizacja_id”, '=', $ organizacja_id)
-> gdzie („wiek”, '=', 30)-> fert ();
if ($ user == null)
// wstaw nowy rekord do bazy danych
w przeciwnym razie
// zaktualizuj istniejący rekord

Rozwiązanie

W tym Laravel 6, było kilka sposobów na tworzenie i aktualizację elokwentnego rekordu osobno. Potrzebujesz tutaj jednej metody, która robi to wszystko dla Ciebie. Możesz użyć Firstornew lub Firstorcreate. Różnica polega na tym, że pierwsza zwraca tylko instancję modelu, co oznacza, że ​​masz obiekt, ale nie został jeszcze utrzymany w bazie danych. Musisz wywołać metodę zapisu (). Drugi zrobi to wszystko za Ciebie.

$ user = User :: FirstorNew (['name' => 'laravel przepisy']);
$ user-> wiek = input :: get („wiek”);
$ user-> save ();

Poniżej znajduje się zaktualizowany link dokumentów, który znajduje się w najnowszej wersji Laravel

Dokumenty tutaj: zaktualizowany link