Wie aktualisiert man eine Pivot-Tabelle mit Eloquent in Laravel 5?

8

Ich bin neu in Laravel. Ich arbeite an einer Laravel 5 App und ich stecke hier fest. Ich habe 2 Modelle als solche:

%Vor%

Es gibt eine Viele-zu-Viele-Beziehung zwischen Nachricht und Benutzer, die mir eine Pivot-Tabelle als solche gibt:

%Vor%

Ich habe eine SQL-Abfrage als solche:

%Vor%

Wie kann ich diese Abfrage in das Laravel-Äquivalent übersetzen?

    
Fokwa Best 05.11.2015, 11:54
quelle

3 Antworten

7

Der folgende Code hat mein Problem gelöst:

%Vor%     
Fokwa Best 09.11.2015, 05:02
quelle
3

Sie können eine dieser beiden Funktionen verwenden, sync() attach() , und die Unterscheidung ist, dass Sync Array als erstes Argument erhält und mit der Pivot-Tabelle synchronisiert (entfernt und fügt die übergebenen Schlüssel hinzu) in Ihrem Array) was bedeutet, wenn Sie 3,2,1 als bewertet in Ihrer Junction-Tabelle, und übergeben Sync mit den Werten von, 3,4,2, Sync automatisch entfernt Wert 1 und addieren Sie den Wert 4 für Sie. wobei Attach einen einzelnen ID-Wert annimmt

Der GIST: Wenn Sie Ihrer Junction-Tabelle zusätzliche Werte hinzufügen möchten, übergeben Sie sie als zweites Argument an Sync() like so:

%Vor%     
Mohamed Kawsara 05.11.2015 18:23
quelle
-1

Zum Aktualisieren Ihrer Pivot-Tabelle können Sie die updateExistingPivot-Methode verwenden.

    
Babar Sajjad 05.11.2015 12:18
quelle

Tags und Links