关于连接的where子句的Activerecord语法

zou*_*m26 0 ruby activerecord ruby-on-rails

我想选择所有在两个日期之间创建订单的订单项(订单包含列日期)

这就是我想要做的事情

LineItem.where(:product_id => self.id).joins(:order).where(:orders => {"date > ? and date < ?", date_start, date_end}).all
Run Code Online (Sandbox Code Playgroud)

我无法弄清楚最后一个条件的语法......我知道这种工作在哪里:

.where("date > ? and date < ?", date_start, date_end)
Run Code Online (Sandbox Code Playgroud)

而且这种地方也是:

.where(:orders => {:id => 23043})
Run Code Online (Sandbox Code Playgroud)

但我怎么能混合这两种,所以我可以得到类似第一个请求的东西?

ush*_*sha 5

试试这个

.where(:date => date_start..date_end, :order => {:id => 23043})
Run Code Online (Sandbox Code Playgroud)