试图理解为什么我的搜索没有产生结果

问题描述 投票:0回答:1

因此,在这种情况下,我正在使用 Laravel,但这可能只是 MySQL“问题”。我有一个简单的数据库表,只有一个

name
字段,其中有两条记录:

1:B-前

2:前线

我有一个名为:“B-Frontliner”的字符串

我正在尝试根据我的字符串从数据库中获取结果。在我看来,我应该通过以下查询从数据库中获取这两个结果:

$results = 艺术家::where('name', 'LIKE', '%' . $string . '%')->get();

但我没有得到任何结果。即使使用

strtolower
等,也没有结果。出于测试目的,也不是简单地将所有内容手动设置为小写。

我的理解完全错误还是我的查询根本错误?

php sql laravel search
1个回答
0
投票

不,您不会得到任何结果,因为数据库中的两行都不包含文本

B-Frontliner
(在全部或部分字段中)。你问的是:

“显示名称中包含文字

B-Frontliner
的所有艺术家”

他们都没有。

相比之下,输入

Front
作为搜索词将返回两个结果,因为该文本 does 出现在两行名称字段中的某处。

搜索

B-Front
将返回第一行。或者,例如,搜索
liner
将返回第二行。

© www.soinside.com 2019 - 2024. All rights reserved.