mic*_*rry 10 php laravel eloquent
数据透视表:'bonus_circle'可以使多个项目具有相同的circle_id和bonus_id.换句话说,同一个圈子可以有多个相同的奖励.使用$ circle-> bonus() - > 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));
Run Code Online (Sandbox Code Playgroud)
什么工作:
$user->AccountRoles()->newPivotStatementForId($role->id)->whereAccountId($account->id)->delete();
Run Code Online (Sandbox Code Playgroud)
原始查询目前有效,但如果有人能回答这个问题,我将不胜感激。
DB::delete('DELETE FROM bonus_circle WHERE bonus_id = ? AND circle_id = ? LIMIT 1',[$bonus->id, $circle->id]);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3829 次 |
最近记录: |