Я реализую панель поиска, которая может искать клиентов по имени, фамилии или и тем, и другим. Так, например, Mike Hizer
будет сопровождаться Mike
, Hizer
, zer
, Mike Hizer
и т.д. Вот что я придумал:Eloquent WHERE LIKE предложение с несколькими столбцами
Customer::where(
DB::raw('concat(first_name," ",last_name)'), 'like', "%{$request->search}%"
)->get()
Он работает. Но есть ли более красноречивый подход для объединения этих двух столбцов (first_name
и last_name
), не прибегая к фазе БД? Будет что-то вроде
->where(['first_name','last_name'], 'like', "%{$request->search}%")
можно достичь?
Вы проверили Laravel Scout? https://laravel.com/docs/5.4/scout Он предоставляет простое, основанное на драйверах решение для добавления полнотекстового поиска в ваши модели Eloquent. –
@Denis Priebe Да, я должен изучить его, спасибо! – Alex