繁体   English   中英

Mysql搜索“ I”不区分大小写

[英]Mysql Search “I” Case Insensitive

我正在为Laravel项目工作,但发现一个问题。 在我的数据库(MySQL)中,字段存储为大写。 当我进行如下搜索时,我遇到了问题。

$query->where(function ($query) use ($q) {
    $query->orWhere('product', 'LIKE', '%'.$q.'%');
    $query->orWhere('stock_code', 'LIKE', '%'.$q.'%');
    $query->orWhere('barcode', 'LIKE', '%'.$q.'%');
    $query->orWhere('hs_code', 'LIKE', '%'.$q.'%');
});

例如, FINDIK是土耳其语单词。 当用户搜索为fındık时,找不到结果。

我正在对MySQL表使用unicode_general_ci 我的邮政编码如下。

<!doctype html>
<html lang="tr">
<head>
    <meta charset="UTF-8">

我该怎么办? 有人提供MySQL LOWER方法。 但我希望有更好的方法。

$query->where(function ($query) use ($q) {
    $query->orWhere('product', 'ilike', '%'.$q.'%');
    $query->orWhere('stock_code', 'ilike', '%'.$q.'%');
    $query->orWhere('barcode', 'ilike', '%'.$q.'%');
    $query->orWhere('hs_code', 'ilike', '%'.$q.'%');
});

请尝试使用ilike

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM