2013-03-12 32 views
5

Bất cứ ai có thể cho tôi biết nếu có thể mong muốn tải một liên kết nhưng chỉ trả lại các thuộc tính cụ thể?Rails liên kết tải mong muốn với các thuộc tính đã chọn

Tôi muốn truy xuất một số đơn đặt hàng bằng tài khoản của họ nhưng chỉ yêu cầu tên tài khoản.

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

+4

Tôi không chắc đó là có thể. Tuy nhiên, bạn có thể thêm account_name vào các bản ghi thứ tự trả về. 'orders = Order.joins (: tài khoản) .select ('orders.id, orders.account_id, accounts.name AS account_name')'. sau đó chỉ cần sử dụng 'account_name' như' orders.first.account_name' – jvnill

+0

Đó là những gì tôi nghĩ từ nghiên cứu google của tôi vì vậy cảm ơn cho xác nhận –

Trả lời

5

Tôi nghĩ rằng bình luận của jvnill nói lên tất cả:

Tôi không chắc đó là có thể. Tuy nhiên, bạn có thể thêm account_name vào các bản ghi thứ tự trả về.

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

sau đó chỉ cần sử dụng account_name như orders.first.account_name

+1

Tôi cũng tò mò về điều này. Không có cách nào để háo hức tải chỉ các cột cụ thể hoặc bất kỳ thủ thuật find_by_sql nào. – roxxypoxxy

Các vấn đề liên quan