我有三张桌子
users
groups
group_user
(处理群组中用户成员资格的数据透视表)我正在尝试从以下组中删除用户的成员资格:
public function userDelete (Request $request, $userId)
{
$gid = $request->group;
$group = Group::find($gid);
$user = User::find($userId);
$user->groups->detach();
// and the second method is :
// foreach ($group->users as $user) {
// if ($user->pivot->user_id == $userId) {
// $user->detach($gid);
//
// break;
// }
// }
}
我已经尝试过各种方法,但它总是会出现找不到方法detach()
的错误:
Macroable.php第74行中的BadMethodCallException: 方法分离不存在。
答案 0 :(得分:4)
当您执行 $ user-> groups-> detach()时,您会在生成的群组集合上调用 detach()。
相反,您应该在关系上调用 detach()方法:
$user->groups()->detach();