我正在使用Laravel 5.1进行CRUD。当我单击添加按钮时,会显示一个带有选择框的表单(控制器正确发送所有数据)。一切正常,但我想改进不显示附加到模型的元素的形式。
示例:2个模型,用户和角色,具有多对多的关系。我的控制器获取附加到当前用户EXCEPT的所有角色,这些角色已经附加。
知道如何获得这个吗?
答案 0 :(得分:1)
首先,您可以获得与当前ids
附加的角色User
:
$user_roles = Auth::user()->roles()->lists('id')->toArray();
然后获取$user_roles
所有角色:
$other_roles = Roles::whereNotIn('id', $user_roles);
最后将这些角色附加到User
:
foreach($other_roles as $role){
Auth::user()->roles()->attach($role->id);
}
希望这有帮助。