Активная запись "где" запрос от родительского ресурса - PullRequest
0 голосов
/ 18 марта 2011

Мне нужно создать запрос, который оценивает, получил ли родительский объект хотя бы два лайка. Если он есть, то включите его в случайный запрос.

Я попробовал что-то подобное, но это не сработало.

@attachments = Attachment.joins('LEFT OUTER JOIN users ON users.id = attachments.user_id').where("received_likes_count > ?",2).order("random()")

Ответы [ 2 ]

2 голосов
/ 18 марта 2011

Это работает для вас?Я предполагаю, что ваш Пользователь является родителем, а в таблице вложений есть user_id, но я не совсем уверен, исходя из вашей формулировки вопроса.выберите для сбора идентификаторов для использования в предложении IN.

@attachments = Attachment.where(
  'user_id IN (
     SELECT id FROM users WHERE received_likes_count > ?
  )', 2
).order('random()')
1 голос
/ 18 марта 2011

MySQL

@attachments = Attachment.joins(:users).where("received_likes_count > ?",2).order("rand()")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...