簡體   English   中英

如何從結果集中的子表中獲取字段

[英]How to get fields from the child table in the result set

我有兩個表之間的聯接。 工具是父表,狀態是子表。 我只想檢索子狀態表中具有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個處於活動狀態的儀器。 但是,如何從結果集中的狀態(子)表中獲取字段以及(父)儀器表中的字段?

好吧,您必須為此使用select方法:

Instrument.joins(:statuses)
          .where("statuses.inst_status='Active'")
          .select("inst‌​ruments.*, statuses.*")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM