Я хочу сделать Laravel Авторизация с помощью gate..Where В модели пользователяПризыв к неопределенным метод Осветите Database Query Builder :: пересекаются()
User.php
public function hasPermission($name)
{
$permission = Permission::where('name','=', $name)->first();
$permissions = \DB::table('role_permission')
->join('permissions', 'permissions.id', '=', 'role_permission.permission_id')
->select('role_permission.*')
->where('role_permission.permission_id', '=',$permission->id)
->get();
if(! $permissions) {
return false;
}
return !! $permission->intersect($this->$permission)->count();
}
В AuthserviceProvider
public function boot(GateContract $gate)
{
$this->registerPolicies($gate);
$gate->before(function($user, $ability) {
return $user->hasPermission($ability);
});
}
My Table structure like.
Пользователь имеет имя, адрес электронной почты, пароль, ID разрешение имеет имя, идентификатор роль имя, идентификатор role_permission имеет ROLE_ID, permission_id
может кто-нибудь помочь мне узнать, что ошибка здесь?