Laravel Update-Abfrage

8

Ich versuche, einen Benutzer auf der Basis der E-Mail nicht dort ID zu aktualisieren, gibt es eine Möglichkeit, dies ohne rohe Abfragen zu tun.

Derzeit ist der Fehler

  

{"error": {"type": "ErrorException", "message": "Standardobjekt erstellen   von leer   Wert "," Datei ":" C: \ wamp \ www \ Promise-jim \ app \ Controller \ SignupController.php "," Zeile ": 189}}

Mein Code

%Vor%
    
Brent 02.12.2014, 11:51
quelle

3 Antworten

5

Dieser Fehler würde darauf hinweisen, dass User::where('email', '=', $userEmail)->first() null zurückgibt, anstatt ein Problem mit der Aktualisierung Ihres Modells.

Überprüfen Sie, ob Sie tatsächlich einen Benutzer haben, bevor Sie versuchen, Eigenschaften dafür zu ändern, oder verwenden Sie die Methode firstOrFail() .

%Vor%

oder mit der firstOrFail() -Methode, muss nicht überprüft werden, ob der Benutzer null ist, da dies eine Ausnahme ( ModelNotFoundException ) auslöst, wenn ein Modell nicht gefunden wird, das Sie mit App::error() Ссылка

%Vor%     
Wader 02.12.2014, 12:02
quelle
4

Sie könnten den Laravel-Abfrage-Generator verwenden, aber ist dies nicht der beste Weg .

Überprüfen Sie Waders Antwort unten für den eloquenten Weg - was besser ist, da Sie damit überprüfen können, ob es tatsächlich einen gibt Benutzer, der der E-Mail-Adresse entspricht und den Fehler behandelt, falls nicht.

%Vor%

Wenn Sie mehrere Felder zum Aktualisieren haben, können Sie am Ende einfach weitere Werte zu diesem Array hinzufügen.

    
msturdy 02.12.2014 11:59
quelle
0

Versuchen Sie es so.

%Vor%     
Cengkuru Michael 26.11.2017 08:23
quelle

Tags und Links