У меня есть продукты.Клиенты хотят, чтобы когда название продукта было похоже на «Защитное стекло для Lenovo Vibe C2», а пользователь ищет «Защитное стекло для стекла c2», чтобы показать продукт.Я создаю запрос с похожим условием, но он работает со словами типа «защитник стекла» или «vibe c2», только с последовательными словами ...
Вот запрос:
$query = Product::find()->joinWith('translation')->joinWith('cats')->joinWith('cats.page')->joinWith('cats.page.parent')->where($whereString);
$whereString .= " AND (
(
product_cat.page_id = '" . $_GET['product_cat'] . "'
OR
parent.id = '" . $_GET['product_cat'] . "'
)
AND
(
page_title LIKE '%" . $_GET['search'] . "%'
OR
short_description LIKE '%" . $_GET['search'] . "%'
OR
key_words LIKE '%" . $_GET['search'] . "%'
)
)";
Название продукта: «Стеклянный протектор для Lenovo Vibe C2»
Пользователь ищет «Стеклянный протектор» => все в порядке, продукт показан.
НО, когда пользователь ищет «Glass protector C2» => ничего не отображается ... Нет этого продукта в базе данных.