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?
Erstellte untenstehende Methode (für mich selbst), um zu überprüfen, ob die angegebene Datensatz-ID in der Db-Tabelle existiert oder nicht.
private function isModelRecordExist($model, $recordId)
{
if (!$recordId) return false;
$count = $model->where(['id' => $recordId])->count();
return $count ? true : false;
}
// Zum Testen
$recordId = 5;
$status = $this->isModelRecordExist( (new MyTestModel()), $recordId);
Zuhause Es hilft!
Laravel 6 oder oben: Schreiben Sie den Tabellennamen, geben Sie dann die Bedingung für die where-Klausel an, z.B. where('id', $request->id)
public function store(Request $request)
{
$target = DB:: table('categories')
->where('title', $request->name)
->get()->first();
if ($target === null) { // tun, was auch immer Sie tun müssen
$cat = new Category();
$cat->title = $request->input('name');
$cat->parent_id = $request->input('parent_id');
$cat->user_id=auth()->user()->id;
$cat->save();
return redirect(route('cats.app'))->with('success', 'App erfolgreich erstellt.');
}else{ // Übereinstimmung gefunden
return redirect(route('cats.app'))->with('error', 'App existiert bereits.');
}
}
Der einfachste Weg, dies zu tun
public function update(Request $request, $id)
{
$coupon = Coupon::where('name','=',$request->name)->first();
if($coupon->id != $id){
$validatedData = $request->validate([
'discount' => 'required',
'name' => 'required|unique:coupons|max:255',
]);
}
$requestData = $request->all();
$coupon = Coupon::findOrFail($id);
$coupon->update($requestData);
return redirect('admin/coupons')->with('flash_message', 'Coupon aktualisiert!');
}
Sie können die Laravel-Validierung verwenden, wenn Sie einen eindeutigen Datensatz einfügen möchten:
$validiert = $request->validate([
'title' => 'required|unique:usersTable,emailAddress|max:255',
]);
Sie können jedoch auch diese Wege verwenden:
1:
if (User::where('email', $request->email)->exists())
{
// Objekt existiert
} else {
// Objekt nicht gefunden
}
2:
$user = User::where('email', $request->email)->first();
if ($user)
{
// Objekt existiert
} else {
// Objekt nicht gefunden
}
3:
$user = User::where('email', $request->email)->first();
if ($user->isNotEmpty())
{
// Objekt existiert
} else {
// Objekt nicht gefunden
}
4:
$user = User::where('email', $request->email)->firstOrCreate([
'email' => 'email'
],$request->all());
Der effizienteste Weg, um zu überprüfen, ob der Datensatz existiert, besteht darin, die Methode is_null zu verwenden, um gegen die Abfrage zu prüfen.
Der folgende Code könnte hilfreich sein:
$user = User::where('email', '=', Input::get('email'));
if(is_null($user)){
//Benutzer existiert nicht...
}else{
//Benutzer existiert...
}
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.