2013-03-12 5 views
5

Czy ktoś może mi powiedzieć, czy możliwe jest załadowanie skojarzenia, ale tylko zwrócić określone atrybuty?Szyny chętnie kojarzą obciążenie z wybranymi atrybutami

Chciałbym pobrać niektóre zamówienia z ich kont, ale wymaga tylko nazw kont.

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

+4

nie jestem pewien, że jest to możliwe. Możesz jednak dodać nazwę konta do zwróconych rekordów zamówień. 'orders = Order.joins (: account) .select ('orders.id, orders.account_id, accounts.name AS account_name')'. to po prostu użyj 'account_name' jak' orders.first.account_name' – jvnill

+0

To właśnie myślałem z moich badań google, więc dziękuję za potwierdzenie –

Odpowiedz

5

myślę komentarz jvnill mówi wszystko:

nie jestem pewien, że jest to możliwe. Możesz jednak dodać nazwę konta do zwróconych rekordów zamówień.

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

następnie wystarczy użyć account_name jak orders.first.account_name

+1

Jestem również ciekawy tego. Czy nie ma sposobu na szybkie ładowanie tylko określonych kolumn lub dowolnych sztuczek find_by_sql. – roxxypoxxy

Powiązane problemy