我想用雄辩的语言写下以下问题:
select * from stocks where (symbol like '%$str%' AND symbol != '$str' ) OR name like '$str%'
没有最后一个条件,很简单:
$stocks = Stock::live()
->where('symbol','like','%'.$str.'%')
->where('symbol','!=',$str)
->get();
但是添加 orWhere('name','like',$str.'%')
两人之后 where
s返回不正确的结果。基本上我想知道如何通过使用 (condition1 AND condition2) OR condition3
上面原始查询中的语法。
3条答案
按热度按时间wvmv3b1j1#
尝试
z9smfwbn2#
我没有测试这个,如果它不起作用,很抱歉。但我认为其中一个解决方案是可行的。
和
kxxlusnw3#
尝试