Estoy escribiendo una consulta ActiveRecord de Rails 3 utilizando la sintaxis "where", que utiliza tanto SQL IN como el operador SQL OR y no puedo entender cómo usa ambos juntos.Rails 3 Consulta de ActiveRecord utilizando operadores SQL IN y SQL OR
obras Este código (en mi modelo de usuario):
Question.where(:user_id => self.friends.ids)
#note: self.friends.ids returns an array of integers
pero
Question.where(:user_id => self.friends.ids OR :target => self.friends.usernames)
devuelve este error
syntax error, unexpected tCONSTANT, expecting ')'
...user_id => self.friends.ids OR :target => self.friends.usern...
alguna idea de cómo escribir esto en rieles este código, ¿o simplemente cuál debería ser la consulta SQL sin formato?
Gracias! La consulta exacta que utilicé fue: Question.where ('target IN (?) O user_id IN (?)', Self.friends.usernames, self.friends.ids) – kateray
ok genial, me olvidé de eso. Siento que deberían ser una forma dentro del formato => hash. no debería necesitar un patrón de cadena solo para agregar O entre 2 condiciones válidas, pero a quién le importa que lo tenga. –
la idea de registro activo es independiente de la base de datos, por lo que no se debe considerar utilizar sql en rieles como la mejor solución, excepto cuando el rendimiento se degrada, que no es el caso en esta consulta – nunopolonia