我想获取标题包含“hello #12”的记录,所以我使用了以下查询:
Post::query()->where('title', 'LIKE', "%hello #12%");
问题是它返回一些标题如下的记录:“你好#15”,“你好”和...
如何才能得到我想要的结果?
brccelvz1#
我认为发生的事情是,当你这样查询时,你实际上是在转义字符#。(双引号)所以,不如这样试试:
Post::query()->where('title', 'LIKE', "%".'hello #12'."%");
bfrts1fy2#
我使用以下查询语法(Model Facade)测试了您的问题并得到了正确的结果:
$results = Post::where('title', 'LIKE','%hello #12%')->get();
额外:如果你dd()你的查询,在我的情况:
dd($results = Post::where('title', 'LIKE','%hello #12%'))
您将看到,'#'字符被解释为完整查询字符串的一部分。
2条答案
按热度按时间brccelvz1#
我认为发生的事情是,当你这样查询时,你实际上是在转义字符#。(双引号)
所以,不如这样试试:
bfrts1fy2#
我使用以下查询语法(Model Facade)测试了您的问题并得到了正确的结果:
额外:如果你dd()你的查询,在我的情况:
您将看到,'#'字符被解释为完整查询字符串的一部分。