Как сделать поиск на laravel
Есть товары, у товаров есть характеристики, характеристики хранятся в таблице товаров в столбике fields тип - JSON ("id характеристики":"Значение характеристики")
id | title | fields
1 | Товар 1 | {"1":"Стена"}
2 | Товар 2 | {"1":"Стена бетонная"}
3 | Товар 3 | {"1":"Стена бетонная окрашенная"}
Например когда мы ищем:
- По характеристике
Стена- получаем в ответ все товары - По характеристике
Стена бетонная- получаем в ответ товары сid:2, 3 - По характеристике
Стена бетонная окрашенная- получаем в ответ товары сid:3
Надеюсь объяснил нормально)
У меня в голове 0, в какую сторону идти, что прочитать?
Ответы (1 шт):
Автор решения: yuralucky
→ Ссылка
Если по простому,то Model::query() ->where('fields', 'LIKE', "%{$searchTerm}%") ->get(); или whereRaw('json_contains(destinations, '["' . $keyword . '"]')')->get() Если по нормальному - то потрать время и найди крутой "велосипед". Например https://laravel.com/docs/8.x/scout или похожее