У меня в базе не у всех user есть роль. Когда надо получить полный список юзеров, с наличием определенных ролей + те у кого нет, я добавляю
orWhereDoesntHave('roles') и все отлично. Но когда я еще добавляю поиск он выдает список вообще всех.
User::with('roles')->
whereHas('roles', function ($q) {
$q->where('slug', 'translator');
$q->orWhere('slug', 'user');
})->
orWhereDoesntHave('roles')->
Where('email', 'like', '%' . $str . '%')->
orWhere('phone', 'like', '%' . $str . '%')->
get();
По идее бы, сначала сделать один запрос, без
like а к нему уже добавить
Where('email', 'like', '%' . $str . '%')->
orWhere('phone', 'like', '%' . $str . '%')->
Но я не знаю как это на eloquent сделать. Подскажите варианты, пожалуйста.