try {
\DB::beginTransaction();
Model::updateOrCreate(['id' => $id, 'number' => $number],
['value' => $request->get('value')]
);
\DB::commit();
} catch (\Exception $e) {
\DB::rollBack();
throw new \Exception($e->error());
}
Ich arbeitete an einer Aufgabe, um ein gemeinsames Merkmal zu erstellen, um zu verhindern, dass ein Datensatz von mehreren Benutzern gleichzeitig aktualisiert wird. Und meine Methode bestand darin, die versteckte Eingabe von $ data-> updated_at in einem Blade zu speichern und sie dann zu überprüfen, wenn eine Update-Anfrage gesendet wurde. Und es gibt Fälle, in denen Laravel updateOrCreate zum Aktualisieren oder Erstellen eines neuen Datensatzes verwendet wird. Und ich weiß nicht, wie ich damit umgehen soll. Sollte ich die Methoden zum Erstellen und Aktualisieren teilen oder gibt es einen guten Weg, damit umzugehen?Laravel 5.3 Eloquent updateOrCreate
welche Rolle Sie Probleme verursacht? – lagbox
das Problem ist, dass ich nicht überprüfen kann, aktuelles Datum aktualisiert mit updateOrCreate bestehenden Datensatz, weil es nur einen neuen Datensatz erstellt, wenn es keine Übereinstimmung in db gibt. Da im Projekt mehrere updateOrCreate-Methoden vorhanden waren, wollte ich wissen, ob es möglich ist, die Methode beizubehalten und zu verhindern, dass die vorhandenen Daten gleichzeitig von mehreren Benutzern aktualisiert werden. Sorry, meine Frage war nicht ganz klar, ich denke – Jasurbek
Sie sollten das Update aufteilen und in zwei separate Endpunkte erstellen Dann überprüfen Sie, wenn es ein Update gibt, und wenn ja, aktualisieren Sie es. –