制作它们的人员的团体销售和制作时间。 Rails和Postgresql

时间:2014-11-18 03:44:22

标签: ruby-on-rails ruby postgresql date time

在我的rails应用程序中,我有一个产品表和一个销售表。 每个销售条目都有一个产品和一个金额,因此每次销售时,都会有多个条目进入销售表,因为客户通常会购买多个产品。 我现在需要一种方法将同一客户端(该表具有关联的client_id)所做的所有销售条目同时(使用created_at列)分组到一个大的销售中并将它们传递给一个数组,以便我可以显示它们。

我该怎么做?

1 个答案:

答案 0 :(得分:1)

我可以建议您对目前的方法进行一些调整吗?

添加一个订单模型,将这些销售组合在一起,因为它更有意义,而且它更多" rails方式"而不是尝试按created_at日期分组,这可能会导致一些错误。这就是我的建议:

<强>顺序

id
user_id

class Order < ActiveRecord::Base
  has_many :products
  belongs_to :user
end

<强>销售

id
order_id
product_id

class Sales < ActiveRecord::Base
   belongs_to :order
end

用户

class User < ActiveRecord::Base
  has_many :orders
end

这样,当您想要显示按订单分组的所有销售(而不是或created_at)时,您将能够遍历@user.orders