ruby-on-rails - new - raw query ruby on rails
¿Puedes hacer una comparación superior a la de una fecha en una búsqueda de Rails 3? (2)
Tengo esta búsqueda en Rails 3:
Note.where(:user_id => current_user.id, :notetype => p[:note_type], :date => p[:date]).order(''date ASC, created_at ASC'')
Pero necesito que la condición :date => p[:date]
sea equivalente a :date > p[:date]
. ¿Cómo puedo hacer esto? Gracias por leer.
Si tiene problemas donde los nombres de las columnas son ambiguos, puede hacer:
date_field = Note.arel_table[:date]
Note.where(user_id: current_user.id, notetype: p[:note_type]).
where(date_field.gt(p[:date])).
order(date_field.asc(), Note.arel_table[:created_at].asc())
Note.
where(:user_id => current_user.id, :notetype => p[:note_type]).
where("date > ?", p[:date]).
order(''date ASC, created_at ASC'')
o también puedes convertir todo en la notación SQL
Note.
where("user_id = ? AND notetype = ? AND date > ?", current_user.id, p[:note_type], p[:date]).
order(''date ASC, created_at ASC'')