Laravel 多态关联附加和移除

多态附加管理

  • users
  • roles
  • user_roles

给某个用户附加一个角色是通过向中间表插入一条记录实现的

$user = App\User::find(1);

$user->roles()->attach($roleId);

如果我还需要其他参数

$user->roles()->attach($roleId, ['expires' => $expires]);

需要移除用户的角色

//单个
$user->roles()->detach($roleId);
//移除全部
$user->roles()->detach();

attach 和 detach 也允许传递一个 ID 数组
那么这句话表示,可以设置批量设置了

$user->roles()->detach([1,2,3,4]);
$user->roles()->detach([1, 2, 3]);

同步关联

说白了,是先删除全部,然后再新增新的

$user->roles()->sync([1, 2, 3]);
$user->roles()->sync([1 => ['expires' => true], 2, 3]);

如果你不想移除现有的 ID

$user->roles()->syncWithoutDetaching([1, 2, 3]);

提示

评论区 (0)

没有记录
支持 markdown,图片截图粘贴拖拽都可以自动上传。
黑白课堂

黑白课堂

混元大罗金仙 站长创业者玉树凌风每天醒来0收入

查看更多

最新视频课程

Laravel 的 PhpSpreadsheet 包入门

wap2App 入门讲解,100%速成,全面为你讲解。

ace.js 打造一款属于你的 Web 编辑器,入门文档。

Laravel Permission 中文文档

解释 OAuth 2.0 认证 和使用场景说明

Laravel 之 horizon 队列管理界面系统

钻级赞助商