当前在Laravel中运行查询,但预期输出不正确。因此,看来我仍然不知道正确的使用方法where/orwhere
。我在下面有这两个查询;
查询1(a)
//total friends
$user = Friend::select('friend_sender', 'friend_receiver')
->where('friend_sender', Input::get("user_id"))
->orwhere('friend_receiver', Input::get("user_id"))
->where('friendship_status','friends')->count();
查询1(b)
//total friends
$user = Friend::select('friend_sender', 'friend_receiver')
->where('friendship_status','friends')
->where('friend_sender', Input::get("user_id"))
->orwhere('friend_receiver', Input::get("user_id"))->count();
这两个查询产生不同的结果。QUERY 1 (a)
结果是0
,在我自己的示例中是正确的,QUERY 1 (b)
结果1
是错误的。
现在,我认为其他人WHEREs
应该在WHERE/orWHERE
声明之后提出。我写了另一个查询,但没有得到所需的结果。
$user = Friend::select('friend_sender', 'friend_receiver')
->where('friend_sender',Input::get("user_id"))
->orwhere('friend_receiver',Input::get("user_id"))
->where('sender_follow', 'yes')
->orwhere('receiver_follow', 'yes')
->where('friendship_status', 'friends')->count();
我的问题是,如何WHERE/orWHERE
正确使用?
请参阅文档中的以下示例:
DB::table('users')
->where('name', '=', 'John')
->orWhere(function($query)
{
$query->where('votes', '>', 100)
->where('title', '<>', 'Admin');
})
->get();
闭包将告诉:AND,然后是OR条件。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句