Laravel根据枢轴额外字段从枢轴连接/分离模型

时间:2015-10-23 17:10:21

标签: php laravel laravel-5 eloquent many-to-many

理事会和ManagementUnit之间有很多关系。关联实体每年都会更改,因此数据透视表是这样的:

council_id
management_unit_id
year

我的问题是,相同的组合council_id + management_unit_id键可能会多次出现,因此我不知道如何附加()或分离()模型。例如,如果我有这个:

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

我将如何仅在2011年将Council(1)与CouncilUnit(1)分开? 或者我如何在2013年将理事会(1)附加到ManagementUnit(1)?

使用Laravel 5.1

2 个答案:

答案 0 :(得分:20)

不确定您的关系是如何设置的,因此您可能需要稍微调整一下。但试一试:

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

答案 1 :(得分:0)

在laravel 5.6中,仅适用于:

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