Задать вопрос
@andreysuha
Что то знаю

Как сделать поиск по дву полям?

Есть модель User. У нее есть два поля first_name и last_name. Когда я ввожу поисковый запрос например "Ив", то я могу найти пользователь допустим с first_name Иван и last_name Иванов. Но как составить запрос если Будет введено Иван Иванов? Пока приходит в голову только розбивать строку на два елемента и перебирать все возможные варианты. может есть какое-то более елегантное решение?
  • Вопрос задан
  • 95 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Loftschool
    Комплексное обучение PHP
    6 недель
    Далее
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Skillbox
    Профессия PHP-разработчик с нуля до PRO
    7 месяцев
    Далее
Решения вопроса 2
@NubasLol
foreach (explode(' ', $query) as $search) {
    $q->where(function($q) use ($search) {
        $q
            ->where('last_name', 'ilike', "%$search%")
            ->orWhere('first_name', 'ilike', "%$search%")

    });
}
Ответ написан
Комментировать
@Nc_Soft
Ищите по CONCAT(first_name, last_name)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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