我在 Rails 控制器(“filings#index”)中有以下 ActiveRecord 调用:
@filings = Filing.order("created_at DESC").limit(limit).offset(start).joins("LEFT OUTER JOIN companies ON companies.id=filings.company_id")
每个文件都属于一家公司。我希望能够访问:
@filings.first.company
无需进行额外的 SQL 查询,因为这是首先完成 OUTER JOIN 的全部目的。但是,当我调用 @filings.first.company 时,它会执行一个附加查询:
SELECT "companies".* FROM "companies" WHERE "companies"."id" = 989 LIMIT 1
如何避免发生第二个查询?作为初始查询的结果,信息不应该已经存储了吗?