Ruby on Rails Tuesday, December 11, 2012

Colin,

 Thanks for the reply. Yes, association makes this better and easy way. But I'm expecting a way apart from using association. I heard merge will do this, but I'm not sure. 


On Saturday, December 1, 2012 7:38:50 PM UTC+5:30, sakthivel sekar wrote:
Hi,
 I have two models named Customer and Order.

Customer < ActiveRecord::Base
has_many :orders
end

Order < ActiveRecord::Base
belongs_to :customer
end

Customer model has attributes like first_name and last_name. Order has customer_id along with other attributes.

Now, I want Customer first_name for specific order. I can get it with following query.

Customer.joins(:orders).where('orders.id = 1').select('first_name').

But, how to get it along with attributes of order table also. Say, I want both customers first_name and orders table created_at value.
When I try,
Order.includes(:customer).select('orders.created_at, customers.first_name')
this returns only order table records. What is the best way to select attributes of joined tables also with Active Record Query.

Thanks.

--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msg/rubyonrails-talk/-/G1nZqYErdJgJ.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

No comments:

Post a Comment