我正在寻找一个可以为我执行此操作的SQL查询,这样就不必对数据库进行太多请求。我要选择模型的所有子项以及属于这些子模型的活动存储附件。
class Category < ApplicationRecord
has_many :infographics, dependent: :destroy
has_many :videos, dependent: :destroy
has_many :pdfs, dependent: :destroy
private
def create_resources
sorted_resources = (self.pdfs.with_attached_document + self.videos + self.infographics.with_attached_photo).sort_by(&:created_at).reverse
end
end
我想收集我的类别模型的所有pdf,信息图表和视频的孩子。模型PDF和信息图具有附加的活动存储项,因此我希望在查询中包括这些项,以便我不会提出太多请求。
有人对我如何在单个请求中编写此代码有任何想法吗?
非常感谢您的帮助。
您可以直接查询与您的类别相关的ActiveStorage附件。一种方法可以通过一个查询完成您想要的操作: