1
# == Schema Information
#
# Table name: orders
#
# id :integer not null, primary key
# order_name :string(255)
# payment_mode :string(255)
# total_cost :integer default(0)
# user_id :integer
# created_at :datetime
# updated_at :datetime
#
class Order < ActiveRecord::Base
has_many :order_items, dependent: :destroy
belongs_to :user
end
# == Schema Information
#
# Table name: order_items
#
# id :integer not null, primary key
# order_id :integer
# product_id :integer
# quantity :integer
# total_price :integer default(0)
# created_at :datetime
# updated_at :datetime
#
class OrderItem < ActiveRecord::Base
belongs_to :order
end
Мой ожидаемый результат должен быть как имя заказа, total_cost с количеством товаров по каждому заказу.has_many ассоциация со значениями счета
Как достичь этого, используя активную запись.
Я попытался следующие
Order.select("orders.*,count(order_items.product_id) as product_count").joins(:order_items)
Каков результат вашего запроса? – Pavan
=> #]> –
Вы просматривали использование счетчика в таблице Orders? http://guides.rubyonrails.org/association_basics.html#counter-cache – mysmallidea