Heim >Backend-Entwicklung >PHP-Tutorial >Wie fügt man Datensätze mit der Methode firstOrNew() von Eloquent effizient ein oder aktualisiert sie?
Bei der Arbeit mit Datenbanken kommt es häufig vor, dass ein neuer Datensatz eingefügt werden muss, wenn dieser nicht vorhanden ist, oder ein vorhandener Datensatz aktualisiert werden muss wenn ja. Im Eloquent ORM von Laravel kann dies präzise mit der Methode firstOrNew() erfolgen.
$model = Model::firstOrNew($attributes);
Wenn der Datensatz bereits in der Datenbank vorhanden ist, gibt die Methode firstOrNew() eine Instanz dieses Modells zurück. Anschließend können Sie seine Attribute ändern und ihn mit der Methode save() speichern.
<code class="php">$user = User::firstOrNew(array('name' => Input::get('name'))); $user->foo = Input::get('foo'); $user->save();</code>
Wenn der Datensatz nicht in der Datenbank vorhanden ist, verwenden Sie die Methode firstOrNew() erstellt eine neue Instanz des Modells mit den angegebenen Attributen. Anschließend wird der Datensatz in die Datenbank eingefügt, wenn Sie die Methode save() aufrufen.
<code class="php">// Insert new record into database</code>
Im bereitgestellten Codeausschnitt wird auch der folgende Ansatz verwendet, um a einzufügen Erstellen Sie einen neuen Datensatz, wenn er nicht vorhanden ist, oder aktualisieren Sie einen vorhandenen Datensatz, wenn dies der Fall ist:
<code class="php">$shopOwner = ShopMeta::where('shopId', '=', $theID) ->where('metadataKey', '=', 2001)->first(); if ($shopOwner == null) { // Insert new record into database } else { // Update the existing record }</code>
Bei diesem Ansatz wird zunächst die Datenbank abgefragt, um den vorhandenen Datensatz abzurufen. Wird kein Datensatz gefunden, wird ein neuer Datensatz eingefügt. Andernfalls wird der vorhandene Datensatz aktualisiert.
Die neuesten Informationen zur Methode firstOrNew() finden Sie in der unten verlinkten aktualisierten Dokumentation.
[Aktualisierte Dokumentation Link](https://laravel.com/docs/8.x/eloquent)
Das obige ist der detaillierte Inhalt vonWie fügt man Datensätze mit der Methode firstOrNew() von Eloquent effizient ein oder aktualisiert sie?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!