ruby-on-rails - 从收藏中随机获取 9 张照片
问题描述
我的联想如下:
收藏:
has_many :children, class_name: "Collection", foreign_key: "parent_id"
belongs_to :parent, class_name: "Collection", foreign_key: "parent_id", optional: true
has_many :albums, dependent: :nullify
专辑:
has_many :photos, dependent: :destroy
belongs_to :collection, optional: true
照片:
belongs_to :album
我希望实现的是,从一个集合中,直接从调用集合或任何子集合中的任何相册中提取 9 张随机照片。
我现有的方法似乎只从调用 Collection 的直接子专辑中提取,这并不是我想要的效果,但不确定如何调整它。
def photos_for_icon
Photo.joins(:album).where(albums: { collection_id: self.id }).order("RANDOM()").first(9)
end
有人有想法么?
谢谢,尼尔