我使用Laravel 5和Entrust创建了一个基于角色的项目,一切正常,直到我尝试更新用户的角色列表,血腥的"完整性约束违规"提醒我,在调用时
$user->attachRoles($roles);
Run Code Online (Sandbox Code Playgroud)
它不会首先删除用户的角色,所以我检查usertrait的界面,然后想出来
$user->detachRoles($user->roles);
$user->attachRoles($roles);
Run Code Online (Sandbox Code Playgroud)
代码看起来很丑陋,我认为有三个SQL被执行了
我真的希望它会像
$user->updateRoles($roles);
Run Code Online (Sandbox Code Playgroud)
这可以比较现有的角色,并做一些优化.
我错过了什么吗?
| 归档时间: |
|
| 查看次数: |
4352 次 |
| 最近记录: |