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?
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:
Zum Aktualisieren Ihrer Pivot-Tabelle können Sie die updateExistingPivot-Methode verwenden.