2013-09-11 21 views
11

Ho provato quanto segue:Rimuovere reationship da molti-a-molti modelli in laravel 4

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

Ma che cancella il record dal database, come posso solo rimuovere la relazione senza eliminare dal tavolo? E, inoltre, non dover pasticciare con la tabella pivot, perché se ciò che è necessario, perché sto ancora usando un quadro ...

risposta

30

Se ho avuto modo corretto, detach() è quello che stai cercando:

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

Questo eliminerà solo la relazione con della tabella $id e two_model della tabella $two_id nella tabella pivot.

Click here for more details.

Modifica: collegamento aggiornato per passare alla nuova pagina corretta.

+2

wow, come mi sono perso. – localhost