Задать вопрос
@lexxeice

Rails 5, как сформировать выборку из базы данных по нескольким полям?

Суть такая, делаю панель поиска пользователей на странице, и обрабатываю введенные значения следующим образом:

users = User.where("first_name LIKE ? or last_name LIKE ?", "%#{params[:search]}%",
"%#{params[:search]}%") if params[:search].present?

Если искать только по имени(first_name) или фамилии(last_name), то все хорошо работает, но если ввести имя и фамилию сразу, например "Иван Иванов", то поиск соответственно не работает.

Я не силен в запрос к базе данных, подскажите как мне обрабатывать еще вариант с введенными именем и фамилией одновременно?
  • Вопрос задан
  • 223 просмотра
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • QA Studio
    Инженер по тестированию: с нуля до Junior+
    4 месяца
    Далее
  • Merion Academy
    Основы реляционных баз данных SQL
    1 месяц
    Далее
  • Учебный центр IBS
    ARC-PRG-001 Архитектор ПО. Путь к мастерству в проектировании систем
    2 недели
    Далее
Решения вопроса 1
@lexxeice Автор вопроса
Нашел уже сам, все оказалось довольно просто, код примет следующий вид:

users = User.where("first_name || ' ' || last_name like ?", "%#{params[:search]}%") if params[:search].present?
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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