直升机,
我的查询:
@county = County.joins(:state)
.where("counties.slug = ? AND states.slug = ?", params[:county_slug])
.select('states.*, counties.*')
.first!
从日志中,SQL 如下所示:
SELECT states.*, counties.* FROM "counties" INNER JOIN "states" ON "states"."id" = "counties"."state_id" LIMIT 1
我的问题是它不会急切地从关联表(状态)中加载数据,因为当我这样做时,例如,@county.state.name,它会运行另一个查询,但是,正如您从日志中看到的那样,它也已经在数据库中查询了该表中的数据。但它不会预先填充@county.state
知道如何在一个查询中从数据库中获取所有数据吗?
谢谢