我想知道在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/