Heim >Backend-Entwicklung >PHP-Tutorial >So synchronisieren Sie Arrays und fügen Pivot-Felder mit der Laravel sync()-Funktion hinzu
Laravel sync()-Funktion: Arrays synchronisieren und Pivot-Felder hinzufügen
Mit der Laravel sync()-Funktion können Sie Beziehungen zwischen Modellen und verwalten Verknüpfen Sie Pivot-Felder mit ihnen.
Verknüpfen einer einzelnen Pivot-Zeile
Wie in der offiziellen Dokumentation erwähnt, können Sie ein Array von IDs angeben, um einen einzelnen Pivot-Wert zu synchronisieren und zuzuordnen mit einer der IDs:
<code class="php">$user->roles()->sync(array(1 => array('expires' => true)));</code>
Mehrere Pivot-Zeilen verknüpfen
Um mehrere Pivot-Werte mit mehreren IDs zu verknüpfen, erstellen Sie ein Array von IDs als Schlüssel und Arrays von Pivot-Werte als Werte:
<code class="php">$syncData = [ 1 => ['expires' => true], 2 => ['expires' => false], ... ]; $user->roles()->sync($syncData);</code>
Im obigen Beispiel wird jede ID einem entsprechenden Array von Pivot-Werten zugeordnet.
Benutzerdefiniertes Beispiel
Angenommen, Sie möchten einer Veranstaltung mehrere Redner zuweisen und jeden Redner dem Pivot-Feld „is_speaker“ zuordnen. Hier ist ein Beispiel:
<code class="php">$speakers = (array) Input::get('speakers'); // related ids // Create an array of pivot data with 'is_speaker' set to true for all speakers $pivotData = array_fill(0, count($speakers), ['is_speaker' => true]); // Combine the speakers array with the pivot data array $syncData = array_combine($speakers, $pivotData); $user->roles()->sync($syncData);</code>
Das obige ist der detaillierte Inhalt vonSo synchronisieren Sie Arrays und fügen Pivot-Felder mit der Laravel sync()-Funktion hinzu. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!