在 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` != ?")
感谢您的帮助。
我会尝试这样的事情:
$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 != '')