У меня есть следующий запрос в моей Gallery
модели:Использование включает в себя с несколькими ассоциациями и отдельными условиями
media_items.includes(:photo, :video).rank(:position_in_gallery)
Мой Gallery
Модель has_many Media Items
каждый из которых имеет либо Photo
или Video
ассоциации.
Пока это отлично работает. Он возвращает все media_items
, включая их ассоциацию photo
или video
, заказанную атрибутом position_in_gallery
media_item
.
Однако у меня теперь есть требование ограничить фотографии, возвращенные этим запросом, только те, у которых есть атрибут is_processing
, который равен nil
.
Можно ли сделать этот же запрос, но с условием на фотографиях вернулся эквивалент:
.where(photo: 'photo.is_processing IS NULL')
Обратите внимание, что все видео должно быть возвращено независимо и не включает атрибут is_processing
.
Я попытался @ предложение mudasbwa в:
includes(:photo, :video).where('photos.is_processing IS NULL').rank(:position_in_gallery)
но это заставляет меня:
ERROR: missing FROM-clause entry for table "photos"
'.гд ('photos.is_processing IS NULL')' – mudasobwa
@mudasobwa Спасибо. – Undistraction
@mudasobwa Я все еще хочу включить видео в запрос. – Undistraction