mysql - 事件记录 has_many

标签 mysql ruby-on-rails activerecord

我需要列出所有用户及其销售的产品总量及其电子邮件和产品总量,

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  test@gmail.com
2  test2@gmail.com

订单 用户 ID 1 1 2 2

OrderItem
id order_id product_id  quantity 
1  1        1            5
2  1        2            5
2  2        3            5

我需要显示如下 名称 产品数量 测试@gmail.com 10 test1@gmail.com 5

最佳答案

请尝试这个:

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

关于mysql - 事件记录 has_many,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31266826/

相关文章:

mysql - 使用 MSOLAP 提供程序的 mysql 或 R 获取数据

mysql - SELECT with Limit in SQL 搞乱了行的顺序

ruby-on-rails - 为什么 Rails 测试环境中的 rack env hash 为空?

ruby-on-rails - Heroku 上的 Node.js : PostgreSQL on prod, SQLite3 on dev?

ruby-on-rails - 如何从已连接相同模型/类/表的表中进行选择?

ruby-on-rails-4 - 用于识别孤立子记录的 ActiveRecord 查询

ruby-on-rails - Rails 可选关联查询

python - 高效地执行许多不同的 INSERT 语句

PHP插入MYSQL表格

ruby-on-rails - 2 个 gem 需要相同依赖的不同版本