Создайте запрос Rails, используя LIKE, который ищет таблицы ассоциаций - PullRequest
0 голосов
/ 30 марта 2020

Я хотел бы написать запрос Rails, используя Postgresql 'LIKE'. Я хочу иметь возможность искать столбец в текущей таблице, а также в таблице ассоциаций.

Я могу искать в текущей таблице следующим образом: User.where("description LIKE ?", "%happy%")

Я могу искать ассоциации, подобные этой : User.joins(:products).where("products.description LIKE ?", "%happy%")

Как мне объединить эти 2 запроса в один? Я хочу вернуть всех пользователей, чье описание содержит «happy» и / или имеет продукт, описание которого содержит «happy».

1 Ответ

3 голосов
/ 30 марта 2020

И версия

User.joins(:products).where("users.description LIKE ? AND products.description LIKE ?", "%happy%", "%happy%")

Или версия

User.joins(:products).where("users.description LIKE ? OR products.description LIKE ?", "%happy%", "%happy%")
...