2015-10-23 14 views
6

Ho una relazione Molti a Molti tra Consiglio e ManagementUnit. Le entità associate cambiano di anno in anno, in modo che la tabella pivot è come questo:Laravel Attacca/Scollega il modello da pivot in base al campo aggiuntivo pivot

council_id 
management_unit_id 
year 

Il mio problema è che lo stesso combinato council_id + management_unit_id tasti possono comparire più volte, quindi non so come allegare () o staccare() i modelli. Per esempio, se ho avuto questo:

council_id | management_unit_id | year 
1   | 1     | 2010 
1   | 1     | 2011 
1   | 1     | 2012 

come vorrei staccare Consiglio (1) da ManagementUnit (1) solo per il 2011? o in che modo collegare un Consiglio (1) a ManagementUnit (1) per il 2013?

Lavorare con laravel 5.1

risposta

12

Non sono sicuro di come i vostri rapporti sono impostati in modo potrebbe essere necessario modificare questo un po '. ma provalo:

$managementUnit = ManagementUnit::find(1); 
$managementUnit->councils()->where('id', 1)->wherePivot('year', 2011)->detach(1); 
+0

Ha funzionato come un fascino, grazie !! Ho persino avuto le mie relazioni in questo modo :) – Cmorales