O ile rozumiem; tabela pośrednia jest po prostu długością łańcucha dołączającą jeden rekord tabeli do rekordu w innej tabeli i jako taka nie wymaga metody miękkiego usuwania.
Aby wytłumaczyć, wyobraź sobie, że masz tabelę użytkowników i tabelę grup, każdy użytkownik może mieć więcej niż jedną grupę, a każda grupa może należeć do więcej niż jednego użytkownika. Twoja tabela przestawna może być User_Group
lub coś podobnego i zawiera po prostu dwie kolumny: user_id
i group_id
.
Twój User
stół i Group
tabela powinna mieć kolumnę deleted_at
dla miękkich usuwa więc kiedy „delete” powiedzieć grupie, że stowarzyszenie grupa nie pojawi się w $User->Groups()
natomiast pivot wiersz tabeli pozostała nienaruszona. Jeśli przywrócisz usuniętą grupę, po raz kolejny pojawi się ona w $User->Groups()
.
Wiersz tabeli przestawnej powinien mieć wpływ tylko wtedy, gdy rekord grupy jest twardy usunięty, w takim przypadku wiersze przestawne również powinny być trudne do usunięcia.
Teraz wyjaśniłem, dlaczego nie uważam, że należy dodać miękkie usuwanie do tabeli przestawnej; czy nadal istnieje powód, dla którego potrzebujesz tego zachowania?
Inną alternatywą jest, aby spróbować to https://github.com/mlezcano1985/laravel-pivot-soft-deletes –