php - 如何在 Laravel 中将一个实例与多个实例分离 | Eloquent 数据透视表?

标签 php laravel eloquent

数据透视表:“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/

相关文章:

javascript - 单击浏览器中的后退箭头时避免使用 GET 方法的 URL 参数

php - 如何在 Laravel 之外使用 Eloquent ORM 的 getQueryLog()?

PHP explode 显示分隔符

php - mysql_connect() : No such file or directory in/opt/lampp/htdocs/

php - Laravel 5.2 - Authenticated User to Change Password - 更新后密码匹配问题

laravel - laravel eloquent 中的条件选择语句

php - Laravel - 批量分配异常错误

php - 在输出缓冲区上循环

php - 具有多个参数的 L5 表单模型绑定(bind)

php - 未找到类 'Way\Generators\GeneratorsServiceProvider'