gpt4 book ai didi

mysql - Eloquent 中的 orWhere 具有多个条件

转载 作者:行者123 更新时间:2023-11-29 17:14:12 26 4
gpt4 key购买 nike

我希望用 eloquent 编写以下查询:

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();

但是在两个 where 之后添加 orWhere('name','like',$str.'%') 会返回不正确的结果。基本上我想知道如何通过在上面的原始查询中使用 (condition1 AND condition2) OR condition3 语法来模拟我所完成的操作。

最佳答案

尝试

$stocks = Stock::live()
->where('name', 'like' , '%'.$str.'%')
->orWhere(function($query) use($str) {
$query->where('symbol','like','%'.$str.'%')
->where('symbol','!=',$str); // corrected syntax
})->get();

关于mysql - Eloquent 中的 orWhere 具有多个条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51725715/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com