Soweit ich es verstehe; Eine Zwischentabelle ist einfach eine Länge der Zeichenkette, die einen Tabellensatz an einen Datensatz in einer anderen Tabelle anfügt, und als solche erfordert sie keine Soft-Delete-Methode.
Stellen Sie sich vor, Sie haben eine Benutzer- und eine Gruppentabelle, jeder Benutzer kann mehr als eine Gruppe haben und jede Gruppe kann mehr als einem Benutzer angehören. Ihre Pivot-Tabelle kann User_Group
oder etwas ähnliches sein und sie enthält einfach zwei Spalten user_id
und group_id
.
Ihre User
Tisch und Group
Tabelle sollte eine deleted_at
Spalte für weiche Löschungen haben, also, wenn Sie „löschen“, um eine Gruppe sagen, wird die Gruppenzugehörigkeit erscheinen nicht in $User->Groups()
während die Pivot-Tabelle Reihe unberührt geblieben ist. Wenn Sie dann diese gelöschte Gruppe wiederherstellen, wird sie erneut in $User->Groups()
angezeigt.
Die Pivot-Tabellenzeile sollte nur betroffen sein, wenn dieser Gruppendatensatz hart gelöscht wird. In diesem Fall sollten die Pivot-Zeilen ebenfalls gelöscht werden.
Jetzt habe ich erklärt, warum ich glaube nicht, dass Sie Soft Delete zu einer Pivot-Tabelle hinzufügen müssen; Gibt es noch einen Grund, warum Sie dieses Verhalten brauchen?
Eine weitere Alternative ist zu versuchen, diese https://github.com/mlezcano1985/laravel-pivot-soft-deletes –