Um dies zu erreichen, müssen wir die zugeordneten Bezeichner festlegen und außerdem einen Attributtyp in das Modell aufnehmen, der die Beziehung angibt.
Wie erstelle ich die Zwischentabelle?
Der erste Schritt zum Erstellen der Viele-zu-Viele-Beziehung besteht darin, die Zwischentabelle zu generieren, die die Felder enthält, die sie mit den Primärtabellen verknüpfen. Für diese müssen wir die folgenden Schritte ausführen:
1- Wir werden die Migration mithilfe von Artisan mit dem folgenden Befehl generieren:
php artisan migrate: make create_show_user
2- In diesem Fall generieren wir eine Tabelle, die eine Tabelle namens Show und die Benutzertabelle unserer Anwendung kombiniert.
3- Dann generieren wir in der Methode up () die Felder der Tabelle, mit denen jedes Mal, wenn wir die Migration ausführen, die Tabelle erstellt wird:
Modellgenerierung
Der nächste Schritt besteht darin, unsere Modelle zu erstellen. Dazu müssen wir eine Datei mit dem Namen der Tabelle erstellen. Anschließend platzieren wir die Beziehung zur Tabelle im Konstruktor. Lassen Sie uns das Modell jeder der Tabellen anzeigen, die wir zuordnen wollen.
1- In der Datei Show.php in der App / Models Route werden wir Folgendes platzieren:
2- Wenn wir sehen, dass wir eine Methode namens belongToMany () haben und den Namen des zuzuordnenden Modells übergeben, erstellt Eloquent das Modellobjekt , um zu wissen, dass es zusammen mit dieser Tabelle eine Beziehung zu einer Zwischentabelle hat.
3- Jetzt erstellen wir eine Datei für die Show-Tabelle, in der wir dasselbe wiederholen, sie aber mit User verknüpfen:
Bis zu diesem Punkt haben wir die notwendige Datenbankfunktionalität, um an unserer Zwischentabelle zu arbeiten.
Einfügen von Daten in die Zwischentabelle
Wir werden eine Route erstellen, auf der wir einen Benutzer eingeben und die Shows zuweisen. Dazu müssen wir das Objekt des Benutzermodells erstellen und einen Datensatz einfügen. Dann rufen wir die shows () -Methode auf, mit der wir dies können Weisen Sie den neuen Datensatz zu.
Auf dieser Route sehen wir auch, dass wir eine Methode mit dem Namen attach () verwenden. Dies ist die Methode, mit der wir die entsprechende Zuordnung vornehmen können. Dann erhalten wir die Daten und machen es zu einem var_dump (), um die vollständigen Daten anzuzeigen.
Hiermit haben wir den Zwischentisch erstellt und eine Viele-zu-Viele-Beziehung hergestellt. Dies ist jedoch nicht einmal 1% dessen, was wir erreichen können. Natürlich ist Forschung und Praxis der Schlüssel.
Nachdem wir dieses Tutorial beendet haben, haben wir unsere Beziehung in Eloquent bereits von vielen zu vielen aufgebaut, ohne eine einzige SQL-Abfrage direkt für unsere Datenbank durchführen zu müssen.