我想知道在Laravel雄辩的情况下,如何忽略多次搜索中的重音。

目前我有这个:

// $searchTerms => 'Héllo human';
$explodedTerms = explode(" ", $searchTerms);

...

// $explodedTerms => ['Héllo', 'human'];
$query->where(function ($q) use ($explodedTerms) {
    foreach ($explodedTerms as $value) {
        $q->whereRaw('LOWER(`text`) LIKE ?', ['%'.strtolower($value).'%' ]);
        }
    });
...


我想使用搜索词“ hello human”来匹配字段文本。

我尝试使用ILIKE,但出现错误:

$q->whereRaw('LOWER(`text`) ILIKE ?', ['%'.strtolower($value).'%' ]);



  SQLSTATE [42000]:语法错误或访问冲突:1064 SQL语法有错误;查看与您的MySQL服务器版本相对应的手册,以在'ILIKE'附近使用正确的语法

最佳答案

这就是答案
$ str = iconv('utf-8','ASCII // IGNORE',$ str);

关于php - 忽略多个搜索请求中的重音符号,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56253145/

10-10 19:18