Ruby on Rails - Active Record Query - возвращать элементы, которые имеют только изображение - PullRequest
3 голосов
/ 11 августа 2011

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

Итак, мой вопрос, как мне изменить ниже, чтобы получить пять записей с изображениями:

@slider_stories = Story.published.all(:limit => 50, :include => [:images])

1 Ответ

1 голос
/ 11 августа 2011

Нечто подобное

@slider_stories = Story.published.all(:limit => 50, :include => [:images], :conditions => "DISTINCT(stories.id), stories.*, images.*")

или

@slider_stories_ids = Image.all(:select => "DISTINCT(story_id)").map(&:story_id)
@slider_stories = Story.published.all(:limit => 50, :include => [:images], :conditions => {:id => @lider_stories_ids})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...