Estoy buscando una manera de construir una consulta que compara dos atributos del mismo registro, sin antes tirar el registro y la comparación posterior a la consulta. Mi caso específico podría tener 10k de registros, por lo que repetirlos no es una opción.Rails consulta activerecord comparar dos atributos del mismo registro
Ejemplo: Encontrar este registro mediante la consulta .donde updated_at == created_at
#<User id: 1, name: "xxx", created_at: "2012-07-01 12:00:00", updated_at: "2012-07-01 12:00:00">
rieles 3+, ActiveRecord, MySQL.
Actualización: Como commentor Matzi señala, lo siguiente es válido cuando se utiliza SQLite, pero no MySQL:
User.where("created_at == updated_at")
Resuelto: error simple, rubí vs SQL.
SQLite puede utilizar:
User.where("created_at == updated_at")
pero MySQL requiere:
User.where("created_at = updated_at")
¿Cuál es el problema? Puedes usar '.where' para esto. – Matzi
Eso es lo que esperaba, pero he estado buscando con los términos incorrectos. ¿Le importaría proporcionar un ejemplo rápido o un enlace a la documentación relevante? Gracias de antemano – Joe
Esto debería funcionar: 'Users.where (" created_at == updated_at ")' – Matzi