2016-09-18 9 views
0

Я использую рельсы и я хочу запрос нравится, что:Rails модели: SQL или и ключевые слова

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 

Как можно скопировать круглые скобки?

ответ

1

Вы можете сделать что-то вроде этого:

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

Спасибо! И для LIKE, могу ли я сделать 'Event.where (" city LIKE: city1 ", {city1:"% # {params [: party] [: city]}% "})'? – Alexandre

+0

Я не уверен в вашем методе, но это будет работа 'Event.where (" city LIKE:? ","% # {Params [: party] [: city]}% ")' –

 Смежные вопросы

  • Нет связанных вопросов^_^