嘿,我的查找条件有点冗长,我想让它更长。
到目前为止
:conditions => ["name LIKE ? OR description LIKE ?", "%#{params[:search_keyword]}%",
"%#{params[:search_keyword]}%"]
它在模型中搜索属性:name或:description是否类似于文本框中的param。现在我还要添加以确保找到的条目是最新的。我已经
了:conditions => ["start_date between ? and ? ", Date.today, @yearstime ]
其中@yearstime是@yearstime = Date.today + 365.days所以模型中的所有内容从现在的日期到现在的一年
我想结合两种情况但不确定语法。我试着把它们放在一起。
:conditions => ["name LIKE ? OR description LIKE ? AND start_date between ? and ?",
"%#{params[:search_keyword]}%", "%#{params[:search_keyword]}%", Date.today, @yearstime ]
但它仍然没有计算日期参数....任何想法我做错了什么?
答案 0 :(得分:1)
看起来这可能是运营商问题的顺序。尝试
:conditions => ["(name LIKE ? OR description LIKE ?) AND (start_date between ? and ?)",
"%#{params[:search_keyword]}%", "%#{params[:search_keyword]}%", Date.today, @yearstime ]
AND
运算符的优先级高于OR
参考:
答案 1 :(得分:0)
start_date是date还是date_time。可能是从一个到另一个的铸造问题。