Viele bis viele Beziehungen zu Laravel und Eloquent

Laravel hilft uns bei der Arbeit mit der Datenbank, indem es die SQL- Sprache vereinfacht. Wir müssen keine Abfragen mehr durchführen, wenn wir dies nicht möchten. Mit dem eloquenten ORM können wir sogar komplexere Beziehungssysteme zwischen Tabellen bearbeiten, ohne dies tun zu müssen eine einzelne direkte Abfrage an die Datenbank.

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:

laravel_rel_muchos_muchos.jpg

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:

laravel_rel_muchos_muchos2.jpg

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.

See also  Backbone.js - Erste Schritte

3- Jetzt erstellen wir eine Datei für die Show-Tabelle, in der wir dasselbe wiederholen, sie aber mit User verknüpfen:

laravel_rel_muchos_muchos3.jpg

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.

laravel_rel_muchos_muchos4.jpg

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.

administrator

Leave a Reply

Your email address will not be published. Required fields are marked *