我在两张桌子之间加入。 Instruments是父表,Statuses是子表。我只期待检索具有inst_status =' Active'在子状态表中。
i = Instrument.joins(:statuses).where("statuses.inst_status='Active'")
生成的结果查询是:
SELECT "instruments".* FROM "instruments" INNER JOIN "statuses" ON "statuses"."instrument_id" = "instruments"."id" WHERE (statuses.inst_status='Active')
哪个好,它只返回55个有效的乐器。 但是,如何从结果集中的Statuses(子)表中获取字段以及(父)Instruments表中的字段?
答案 0 :(得分:1)
嗯,你必须使用select
方法:
Instrument.joins(:statuses)
.where("statuses.inst_status='Active'")
.select("instruments.*, statuses.*")