2013-09-11 15 views
11

Próbowałem następujące:Usuń reationship z wielu do wielu modeli w laravel 4

$one = OneModel::findOrFail($id); 
$two = $one->two_model()->findOrFail($two_id); 
$two->delete(); 

Ale to usunięcie rekordu z bazy danych, jak można po prostu usunąć relację bez usuwania z tabeli? A także nie trzeba zadzierać z tabeli przestawnej, bo jeśli to jest potrzebne, dlaczego ja nawet za pomocą ramy ...

Odpowiedz

30

Jeśli mam cię prawidłowo, detach() jest to, czego szukasz:

$one = OneModel::findOrFail($id); 
$one->two_model()->detach($two_id); 

Spowoduje to usunięcie w tabeli przestawnej tylko relacji z tabelą $id i two_model tabeli $two_id.

Click here for more details.

Edytuj: Zaktualizowany link, aby przejść do nowej poprawnej strony.

+2

wow, jak to przegapiłem. – localhost

Powiązane problemy