从数据库中搜索包含特定字符的字符串laravel 5

ac1kyiln  于 2021-06-20  发布在  Mysql
关注(0)|答案(2)|浏览(392)

我的表中有name列,其中包含企业名称列表。
问题是有些企业名称包含-,'字符。
我正在使用此查询搜索名称

$names = Brand::where(name, 'LIKE', '%' . $request->search . '%')->get();

示例:来自数据库的名称 daddy's barber shop 如果我用这个词搜索这个 daddys barber shop 没有 ' 字符,它什么也不返回。如何忽略 ' 来自数据库的字符,以便它与 daddy's barber shop ? 如何实现这个搜索?

cnwbcb6i

cnwbcb6i1#

您可以使用whereraw而不是where来使用@rohit shah answer,但这是一个繁重的处理过程,特别是当您的表中有很多raw时,因此每次都会处理替换字符。
如果有这种情况,我会做的是在tabale“name\u alt”中创建另一列,在该列中存储没有不需要的字符的名称,并对该列进行搜索

mwkjh3gx

mwkjh3gx2#

SELECT
    Column_name
FROM
    Table_name
WHERE
    REPLACE(REPLACE(REPLACE(name, '-',''), ',', ''), ''', '') LIKE '%search_string%'

这种类型的查询可能符合您的目的。
希望这对你有帮助。如果有任何疑问,请告诉我。

相关问题