Как скомбинировать условия запроса внутри скобки в laravel 5

В laravel 5 я использую ниже построитель запросов

$user_social = DB::table('users')
->where('email','=',$credentials['email'])
->where('facebook', '!=', '')
->orWhere('google', '!=', '')
->get(['facebook','google']);

И я получаю этот запрос, сгенерированный конструктором запросов

"select * from `users` where `email` = ? and `facebook` != ? or `google` != ?"

Какие изменения нужны, чтобы сделать запрос подобным.

"select * from `users` where `email` = ? and (`facebook` != ? or `google` != ?")

Спасибо за вашу помощь.

0

Решение

Я бы попробовал что-то вроде этот:

$user_social = DB::table('users')
->where('email', '=', $credentials['email'])
->orWhere(function($query)
{
$query->where('facebook', '!=', '')
->where('google', '!=', '');
})
->get(['facebook','google']);

Это генерирует запрос как это

select * from users where email = 'email' or (facebook != '' and google != '')
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]