Laravel orm - #在LIKE中产生不同的结果

yyyllmsg  于 2022-12-14  发布在  其他
关注(0)|答案(2)|浏览(96)

我想获取标题包含“hello #12”的记录,所以我使用了以下查询:

Post::query()->where('title', 'LIKE', "%hello #12%");

问题是它返回一些标题如下的记录:“你好#15”,“你好”和...

在mysql或laravel查询中是否有特殊用途?

如何才能得到我想要的结果?

brccelvz

brccelvz1#

我认为发生的事情是,当你这样查询时,你实际上是在转义字符#。(双引号)
所以,不如这样试试:

Post::query()->where('title', 'LIKE', "%".'hello #12'."%");
bfrts1fy

bfrts1fy2#

我使用以下查询语法(Model Facade)测试了您的问题并得到了正确的结果:

$results = Post::where('title', 'LIKE','%hello #12%')->get();

额外:如果你dd()你的查询,在我的情况:

dd($results = Post::where('title', 'LIKE','%hello #12%'))

您将看到,'#'字符被解释为完整查询字符串的一部分。

相关问题