我有一个表Event
,我想创建一个有两个条件的唯一查询。我在控制台中单独尝试了我的条件,它们单独工作。但我不知道如何将它们结合起来。查询如下:
今天选择start:timedate
以上的事件(事件尚未发生)
Event.where("start > ? " ,Time.now).count
并且还想从特定的user_id中选择事件,例如:
Event.where(user_id: "1").count
我怎么能在单个查询中将它们组合起来? 谢谢
答案 0 :(得分:3)
Event.where("start > ? " ,Time.now).where(user_id: "1").count
可选地,
Event.where("user_id = 1 AND start > ?", Time.now).count
您也可以使用OR语句。
答案 1 :(得分:0)
尝试scope:
Event.rb 中的
scope :filter_by_time_user, ->(userId, time) { where('user_id = ? AND start > ?', userId, time) }
你可以在任何地方打电话:
Event.filter_by_time_user(1, Time.now).count