orderBy('created_-6ren">
gpt4 book ai didi

mysql - laravel DB::raw() 奇怪的行为

转载 作者:行者123 更新时间:2023-11-29 12:56:03 24 4
gpt4 key购买 nike

我有这个查询:

$feed = Feed::where(DB::raw('LOWER(feeds.title) LIKE LOWER("%'.$a.'%")'))->orderBy('created_at','DESC')->paginate(10);

但由于某种原因 Laravel 将其更改为:

SQL: select * from `feeds` where LOWER(feeds.title) LIKE LOWER("%variable%") is null order by `created_at` desc limit 10 offset 0

请注意 WHERE 子句后的 is null。为什么会这样改变,我该怎么做?

最佳答案

使用 whereRaw 并仅向其传递一个字符串。

你不应该像这样使用where()。它需要 3 个参数,如下所示:

where('column', 'operator', 'value');

如果您省略第三个参数,它将默认为 whereNull(),这就是为什么您会附加 “is null”。要将原始语句放入 where 子句中,您应该使用 whereRaw()。

关于mysql - laravel DB::raw() 奇怪的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24051672/

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