数据透视表:“bonus_circle”能够拥有多个具有相同 circle_id 和 bonus_id 的项目。换句话说,同一个圈子可以有多个相同的奖金。使用 $circle->bonuses()->detach($id) 删除所有实例。我需要它只分离一个实例。有谁知道解决这个问题的方法吗?
最佳答案
我搜索了一个多星期才找到这个问题的答案。我不能用你的代码作为例子,因为那里还不够我继续下去,但我会用我的代码向你展示我在 Laravel IRC 聊天中从 Kindari 那里收到的答案(谢谢你)。
我有用户、角色和帐户。一位用户可以在一个或多个帐户上拥有一个角色。我的 role_user_account 表有 role_id、user_id、account_id。我需要删除用户的角色,其中 account_id = x 但我发现 detach() 正在删除用户的所有帐户角色。
什么没用:
$user->AccountRoles()->detach($role->id, array('account_id' => $account->id));
什么有效:
$user->AccountRoles()->newPivotStatementForId($role->id)->whereAccountId($account->id)->delete();
关于php - 如何在 Laravel 中将一个实例与多个实例分离 | Eloquent 数据透视表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21149164/