Игнорировать акцент в нескольких поисковых запросах - PullRequest
0 голосов
/ 22 мая 2019

Я хотел бы знать, как я могу игнорировать акцент в множественном поиске с помощью eloquent от 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

1 Ответ

0 голосов
/ 22 мая 2019

это ответ $ str = iconv ('utf-8', 'ASCII // IGNORE', $ str);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...