ruby-on-rails - 获取并汇总所有关联的数据
问题描述
我有2个模型。公司和订单。公司有很多订单。Orders 表有一个数量列。我需要获取订单并将属于每个公司的所有数量相加。
下面的代码不起作用。
class Company < ApplicationRecord
has_many :orders
belongs_to :payment_method
end
class Order < ApplicationRecord
validates :company_id, presence: true
validates :quantity, presence: true
belongs_to :company
end
<% @companies.each do |p| %>
<p><%= p.orders.quantity.sum %></p>
<% end %>
解决方案
p.orders
访问关联的表。此代码不起作用的原因:在获取关联记录后,您必须遍历每个记录以将它们的数量相加。
这是一种方法。
p.orders.sum(&:quantity)
推荐阅读
- tabulator - 将标题设置为计算总和
- python - 列表python中的itertool组动态元素
- javascript - 从chrome中的父选项卡设置角度应用程序的标题
- c# - 如何管理超过 1 个资源?
- notion-api - Notion API - 使用 Notion OAuth 或 API 令牌创建数据库
- javascript - 根据手机屏幕大小处理网站滚动偏移
- excel - VBA 代码从重叠的不连续数组创建 2 个图形
- facebook-graph-api - Facebook Marketing API 展示位置资产自定义asset_feed_spec 错误
- arrays - 在 C 中创建和释放 3D 数组的内存
- java - 通过 Spring Cloud Netflix 访问服务的端点 /actuator/health:Zuul