У меня есть две модели: пользователь и роль. Каждый пользователь имеет много ролей, таких как «администратор», «простой пользователь» и так далее. Я хочу, чтобы все пользователи не имели роли администратора. Я знаю, что это можно решить с помощью запроса на присоединение. Но я хочу использовать функцию "wherHas ()".
User table has id, name
Role table has id, slug, name
user_role as pivot table has user_id and role_id
В модели User
public function roles()
{
return $this->belongsToMany('App\Role');
}
и в модели Role
public function users()
{
return $this->belongsToMany('App\User');
}
Пример запроса:
$users = User::whereHas('roles', function ($query){
$query->where('slug', '!=', 'ecoyar');
})->get();
извините за мой английский sh!