Ich bin neu bei Laravel. Wie finde ich heraus, ob ein Datensatz vorhanden ist?
$user = User::where('email', '=', Input::get('email'));
Was kann ich hier tun, um zu sehen, ob $user
einen Datensatz hat?
Ich bin neu bei Laravel. Wie finde ich heraus, ob ein Datensatz vorhanden ist?
$user = User::where('email', '=', Input::get('email'));
Was kann ich hier tun, um zu sehen, ob $user
einen Datensatz hat?
Laravel 5.6.26v
um den vorhandenen Datensatz über den Primärschlüssel (E-Mail oder ID) zu finden
$user = DB::table('users')->where('email',$email)->first();
dann
if(!$user){
// Benutzer wurde nicht gefunden
}
if($user){
// Benutzer gefunden
}
include " use DB " und der Tabellenname Benutzer wird durch die obige Abfrage von Benutzer in Benutzer geändert
Es ist etwas spät, aber es könnte jemandem helfen, der versucht, User::find()->exists()
zur Überprüfung des Vorhandenseins von Datensätzen zu verwenden, da Laravel unterschiedliches Verhalten für die Methoden find()
und where()
zeigt. Wenn Sie die E-Mail als primären Schlüssel betrachten, lassen Sie uns die Situation genauer betrachten.
$result = User::find($email)->exists();
Wenn ein Benutzerdatensatz mit dieser E-Mail vorhanden ist, wird true
zurückgegeben. Der verwirrende Teil ist jedoch, dass bei Nichtvorhandensein eines Benutzers mit dieser E-Mail ein Fehler auftritt. z.B.
Ruft eine existierende Funktion auf einem Nicht-Objekt auf.
Aber der Fall ist bei where()
anders.
$result = User::where("email", $email)->exists();
Die obige Klausel gibt true
zurück, wenn der Datensatz vorhanden ist, und false
, wenn der Datensatz nicht vorhanden ist. Verwenden Sie also immer where()
zur Überprüfung des Datensatzvorhandenseins und nicht find()
, um Fehler mit NULL
zu vermeiden.
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.