ruby on rails sql-加入父级以按父级数据查找

事件有很多工作。

如何查找属于特定月份创建的事件的所有作业?

我尝试过,语法对我来说很好

@jobs = Job.joins(:event)
           .where(events: {"starts_at BETWEEN ? AND ?",Time.now.beginning_of_month,Time.now.end_of_month})
           .where(member_id: @member)`

但出现错误:

ruby on rails sql-加入父级以按父级数据查找

mengjie0155 回答:ruby on rails sql-加入父级以按父级数据查找

您有两种方法可以解决该SyntaxError问题:

Job.joins(:event)
   .where("events.starts_at BETWEEN ? AND ?",Time.now.beginning_of_month,Time.now.end_of_month)
   .where(member_id: @member)

Job.joins(:event)
   .where(events: { starts_at: Time.now.beginning_of_month..Time.now.end_of_month })
   .where(member_id: @member)

一种是使用“字符串方式”。表名,后跟列名以及绑定开始和结束日期的运算符。

另一个是使用哈希参数。首先将表名作为哈希键传递,其中包含该列,其值是开始结束日期之间的范围。


尽管要获得整个当月的价格,也可以使用all_month

(Time.now.beginning_of_month..Time.now.end_of_month) == Time.now.all_month 
# true
本文链接:https://www.f2er.com/3151274.html

大家都在问