Laravel 根据枢轴额外字段从枢轴附加/分离模型
Posted
技术标签:
【中文标题】Laravel 根据枢轴额外字段从枢轴附加/分离模型【英文标题】:Laravel Attach/Detach model from pivot depending on pivot extra field 【发布时间】:2016-01-23 07:41:27 【问题描述】:Council 和 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) 从 ManagementUnit(1) 中分离出来? 或者我将如何在 2013 年将理事会 (1) 附加到 ManagementUnit(1)?
使用 Laravel 5.1
【问题讨论】:
【参考方案1】:不确定您的关系是如何设置的,因此您可能需要稍微调整一下。但试一试:
$managementUnit = ManagementUnit::find(1);
$managementUnit->councils()->where('id', 1)->wherePivot('year', 2011)->detach(1);
【讨论】:
工作就像一个魅力,谢谢!我什至有这样的关系:)【参考方案2】:在 laravel 5.6 中仅适用于:
$managementUnit = ManagementUnit::find(1);
$managementUnit->councils()->where('conuncils.id', 1)->wherePivot('year', 2011)->detach();
【讨论】:
以上是关于Laravel 根据枢轴额外字段从枢轴附加/分离模型的主要内容,如果未能解决你的问题,请参考以下文章
Laravel:保存/附加/同步自定义枢轴模型(belongsToMany)
Laravel Eloquent Query 包含枢轴和关系