2013-03-12 61 views
5

任何人都可以告訴我是否有可能急於加載關聯但只返回特定屬性?Rails熱切負載與選定屬性的關聯

我想檢索一些與他們的帳戶訂單,但只需要帳戶名稱。

Order.select([:id, :account_id]).includes(:account).limit(2)

+4

我不知道這是可能的。但是,您可以將account_name添加到退回的訂單記錄中。 'orders = Order.joins(:account).select('orders.id,orders.account_id,accounts.name AS account_name')'。那麼只需使用'account_name'就像'orders.first.account_name' – jvnill 2013-03-12 10:51:58

+0

這就是我從我的谷歌研究認爲,所以感謝您的確認 – 2013-03-12 16:11:57

回答

5

我覺得jvnill的評論說,這一切:

我不知道這是可能的。但是,您可以將account_name添加到退回的訂單記錄中。

orders = Order.joins(:account).select('orders.id, orders.account_id, accounts.name AS account_name') 

就用ACCOUNT_NAME像orders.first.account_name

+1

我也很好奇這一點。沒有任何方法可以加載只有特定的列或任何find_by_sql技巧。 – roxxypoxxy 2013-09-24 18:01:57