我已经做了很多次但是出于某种原因我似乎无法让这次工作。我有用户,他们有权限。我有权限表,用户表和users_permissions表。 users_permissions表包含来自users表的一系列id和来自权限表的一系列权限ID。例如:
1,1
1,2
1,3
2,1
2,3
等等...基本上,我做了一个
$up = UserPermissions::where('user_id','=',$userid)->where('permission_id','=',$permissionid)->first();
$up->delete();
这样就可以了,但我可以执行$ up-> delete(),因为记录没有ID。有没有办法在不修改表的情况下执行此操作?谢谢!
Nick
答案 0 :(得分:0)
假设您的关系已正确定义:
在User.php
class User extends Eloquent
{
public function permissions()
{
return $this->belongsToMany('UserPermission');
}
}
在UserPermission.php
class UserPermission extends Eloquent
{
public function users()
{
return $this->belongsToMany('User');
}
}
要从ID为$ userid的用户中删除ID为$ permissionid的权限,您只需要
User::find($userid)->permissions()->detach($permissionid);
删除ID为$ userid
的用户的所有权限User::find($userid)->permissions()->detach();