我有3个模型
用户-角色权限
用户
class User extends Model
{
protected $fillable = [
'name', 'email', 'password',
];
public function roles()
{
return $this->belongsToMany(Role::class);
}
}
角色
class Role extends Model
{
protected $fillable = ['name' , 'label'];
public function users()
{
return $this->belongsToMany(User::class);
}
public function permissions()
{
return $this->belongsToMany(Permission::class);
}
}
权限
class Permission extends Model
{
protected $fillable = ['name' , 'label'];
public function roles()
{
return $this->belongsToMany(Role::class);
}
}
我想获取权限在特定日期更新的用户列表
我知道我会使用下面的方法,但是我不知道如何使用Where
$users = User::with('roles.permissions')->orderBy('name', 'asc')->paginate(25);
非常感谢
答案 0 :(得分:0)
使用whereHas()
:
$users = User::whereHas('roles.permissions', function($query) use($date) {
$query->whereDate('permission_role.updated_at', $date);
})->orderBy('name', 'asc')->paginate(25);