chelkaz
@chelkaz

Laravel 5 Модели. Правильно ли упростить запрос?

Нужно искать по всем полям. Делаю так
$ResultSearch = ListAirport::where(function ($q) use ($search_value) {
$q->where('name_one', 'like', "%{$search_value}%")
->orWhere('sity', 'like', "%{$search_value}%")
->orWhere('name_ru', 'like', "%{$search_value}%")
->orWhere('code', 'like', "%{$search_value}%")
->orWhere('key', 'like', "%{$search_value}%")
->orWhere('airport_name', 'like', "%{$search_value}%");
})->get();
return response()->json($ResultSearch);

Возможно делать правильно и упрощено?
  • Вопрос задан
  • 230 просмотров
Решения вопроса 1
@Nc_Soft
Тут всё нормально, только надо экранировать запрос
$search_value = addcslashes($search_value, '%_');
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
wielski
@wielski
✔ Совет: Вам помогли? Отметьте ответы решением.
Советую для поиска использовать Eloquence Searchable
https://github.com/jarektkaczyk/eloquence/wiki/Bui...

Есть возможность использовать релевантный fulltext поиск, можно искать по связям, и т.д.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы