gpt4 book ai didi

php - Laravel 5 Entrust 更新用户角色

转载 作者:行者123 更新时间:2023-12-03 01:10:45 25 4
gpt4 key购买 nike

我使用 Laravel 5 和 Entrust 创建了一个基于角色的项目,一切正常,直到我尝试更新用户的角色列表,该血腥的“完整性约束违规”提醒我在调用时

$user->attachRoles($roles);

它不会先删除用户的角色,所以我检查了usertrait的接口(interface),然后得出

$user->detachRoles($user->roles);
$user->attachRoles($roles);

代码看起来很丑,我认为执行了三个SQL

  • 查找用户的角色
  • 删除关系
  • 添加新关系

我真的希望它会像

$user->updateRoles($roles);

可以比较现有的角色,并做一些优化。

我错过了什么吗?

最佳答案

您可以使用函数$user->roles()->sync($roleKeys)。它需要角色键数组,执行后所有以前的角色都将被删除。

关于php - Laravel 5 Entrust 更新用户角色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29741251/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com