【问题标题】:Rails models : SQL OR AND keywordsRails 模型:SQL OR AND 关键字
【发布时间】:2016-09-18 10:19:19
【问题描述】:

我使用 Rails,我想要这样的请求:

SELECT * FROM events WHERE id = 5 AND 
active = true AND 
(current_state = 0 OR current_state = 1)

我写的是这样的:

Event.where(id:5).where(active:true).or(Event.where(current_state:)).or
(Event.where(current_state: 1))

但是当我这样做时,我有这个要求:

SELECT * FROM events WHERE id = 5 AND 
active = true AND 
current_state = 0 OR current_state = 1

我怎么能有括号?

【问题讨论】:

    标签: sql ruby-on-rails models


    【解决方案1】:

    你可以这样做:

    Event.where('WHERE id = ? AND active = ? AND (current_state = ? OR current_state = ?)', 5, true, 0, 1)
    

    【讨论】:

    • 谢谢!对于LIKE,我可以Event.where("city LIKE :city1", {city1: "%#{params[:party][:city]}%"}) 吗?
    • 我不确定你的方法,但它会工作Event.where("city LIKE :? ", "%#{params[:party][:city]}%")
    猜你喜欢
    • 1970-01-01
    • 2020-07-20
    • 2011-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-03
    • 2015-03-25
    • 2016-04-13
    相关资源
    最近更新 更多