Laravel 版本 7.0
我有Team模型和User模型,team_has_users表格。
team_has_users表有team_id, user_id,role列。
一名用户可以属于一个具有不同角色的团队。
例如,一个用户可以作为客户和员工属于一个团队。
在Team模型中,我设置了这样的关系。
public function users(){
return $this->belongsToMany(User::class, 'team_has_user', 'team_id', 'user_id')
->withPivot('role');
}
Run Code Online (Sandbox Code Playgroud)
当我将用户加入团队时,效果很好。
$item->users()->attach($request->clients, ['role'=>'client']);
$item->users()->attach($request->employees, ['role'=>'employee']);
Run Code Online (Sandbox Code Playgroud)
但是,当我要同步它们时,我却做不到。
我尝试搜索并找到了类似的,syncwithoutDetaching但它似乎不适合我的情况。
team_has_users表可以是这样的。
team_id user_id role
1 1 client
1 1 employee
1 2 client
1 1 other
...
Run Code Online (Sandbox Code Playgroud)
谁能帮我?
谢谢你!
php laravel eloquent laravel-query-builder laravel-relations
大家!我正在使用 Laravel Spatie 权限包。我可以像这样获得用户的所有分配权限。
$user->getAllPermissions()
Run Code Online (Sandbox Code Playgroud)
但是,我想通过急切加载获得所有权限。也许像这样。
$users = User::with('getAllPermissions')->get();
Run Code Online (Sandbox Code Playgroud)
但这没有用。
我试过
$users = user::with('permissions')->get();
Run Code Online (Sandbox Code Playgroud)
但查询计数与结果相同
$users = user::get();
Run Code Online (Sandbox Code Playgroud)
那么$user->getAllPermissions()已经是急切加载的查询了吗?
或者是否有任何急切加载的查询?