在Rails中将日期范围参数传递给SQL / ActiveRecord查询

ruby347

在这里,我有一个Order和一个OrderReport表。我正在做一个连接,它从每个表中提取一些数据。

 OrderReport.joins("INNER JOIN orders on orders.id = order_reports.for_object_id and order_reports.for_object_type = 'Order'").

group("order_reports.sales_user_id, EXTRACT(MONTH from event_at), orders.user_id,event_at").

pluck("order_reports.sales_user_id, EXTRACT(MONTH from event_at), orders.user_id,sum((cached_user_total_due - cached_sales_tax) * split_percentage), min(event_at)")

我有这个很长的sql + ActiveRecord查询。我想添加一个初始化程序,并使其具有日期开始和日期结束,以使其能够灵活地提取上一年的报告。

开始和结束日期将来自具有event_at列的Order表。我知道我将从这样做开始:

  attr_reader :start_date, :end_date

  def initialize(start_date:, end_date:)
    @start_date = start_date
    @end_date = end_date 
  end
Hieu Pham

您可以简单地通过定义如下范围来实现:

class OrderReport < ActiveRecord::Base
  scope :during, -> (start, end) {
    where('event_at >= ? AND event_at <=?', start, end)
  }
end

然后,您可以超级轻松地执行查询:

OrderReport.during(start_date, end_date).joins(pla pla pla)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Rails中将日期范围参数传递给SQL / ActiveRecord查询

来自分类Dev

Rails ActiveRecord查询日期范围

来自分类Dev

否定ActiveRecord查询范围

来自分类常见问题

Rails 5:ActiveRecord或查询

来自分类Dev

Rails中的ActiveRecord查询

来自分类Dev

ActiveRecord Rails高效查询

来自分类Dev

Activerecord SQL查询输出

来自分类Dev

ActiveRecord查询到SQL

来自分类Dev

如何在Python中将日期变量传递给SQL查询

来自分类Dev

如何在Python中将日期变量传递给SQL查询

来自分类Dev

从查询中排除Rails ActiveRecord

来自分类Dev

Rails,ActiveRecord和子查询

来自分类Dev

Rails ActiveRecord中的组查询

来自分类Dev

Rails 4 ActiveRecord多个查询

来自分类Dev

Rails,ActiveRecord和子查询

来自分类Dev

将SQL查询转换为ActiveRecord查询

来自分类Dev

使用ActiveRecord在查询对象中转义参数?

来自分类Dev

Rails ActiveRecord查询选择选择总和

来自分类Dev

Rails从ActiveRecord :: Relation查询中删除模型

来自分类Dev

在Rails中构建动态ActiveRecord查询

来自分类Dev

ActiveRecord联接查询并在Rails中选择

来自分类Dev

Rails:基于关联值的ActiveRecord查询

来自分类Dev

Rails Activerecord查询选择性包括

来自分类Dev

动态查询不同的值rails 4 activerecord

来自分类Dev

以Rails ActiveRecord样式编写嵌套查询

来自分类Dev

ActiveRecord联接查询并在Rails中选择

来自分类Dev

在Rails中构建动态ActiveRecord查询

来自分类Dev

Rails:按月和年查询ActiveRecord

来自分类Dev

需要帮助从 Rails ActiveRecord 获取查询列表