连接时where子句的Activerecord语法



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

这是我想做的

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

我不明白最后一个条件的语法…我知道你在哪里工作:

.where("date > ? and date < ?", date_start, date_end)

和这种类型:

.where(:orders => {:id => 23043})

但是我怎样才能混合这两种请求,这样我才能得到类似第一个请求的东西呢?

试试这个

.where(:date => date_start..date_end, :order => {:id => 23043})

您可以直接将子句链接在一起,它会自动使用and将它们连接起来:

.where("date > ? and date < ?", date_start, date_end). 
  where(:orders => {:id => 23043})

最新更新