Mysql搜索“我”案例不敏感

时间:2016-07-28 10:18:45

标签: php mysql laravel

我正在为一个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时未找到任何结果。

我正在使用unicode_general_ci来表示MySQL表。我的头码如下。

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

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

1 个答案:

答案 0 :(得分:0)

$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