2015-07-07 2 views
0

Мне нужно перечислить всех пользователей в их общий продукт, продаваемый им с их электронной почты и общего количества продукта,Активная запись has_many

class User < ActiveRecord::Base 
    # id, location_id, email 
    has_many :orders, dependent: :destroy 
end 

class Order < ActiveRecord::Base 
#status, payment_mode, total_cost, user_id 
    has_many :order_items, dependent: :destroy 
    belongs_to :user 
end 

class OrderItem < ActiveRecord::Base 
# order_id, product_id, quantity,total_price 
    belongs_to :order 
    belongs_to :product 
end 

User 
id email 
1 [email protected] 
2 [email protected] 

Заказать идентификатор user_id

OrderItem 
id order_id product_id quantity 
1 1  1   5 
2 1  2   5 
2 2  3   5 
Мне нужно отобразить как имя product_count [email protected] 10 [email protected] 5

ответ

1

Пожалуйста, попробуйте следующее:

OrderItem.includes(:order => :user).group('users.email').sum(:quantity) 
+0

Спасибо @ cmoran92 –

Смежные вопросы