sql >> Base de Datos >  >> RDS >> Mysql

cuando estaba usando el alias find_by_sql, me confundí

Estás cargando activamente Books de la base de datos, por lo que AREL intenta asignar su declaración de selección al modelo. En este caso, asigna la fecha a la borrow_date atributo y lo convierte en un objeto Date. El formato original que seleccionó ya no es relevante ya que se analizó en un objeto que tiene sus propias reglas para imprimir la fecha.

Su segunda selección funciona ya que probablemente no haya ningún atributo de ese nombre en su Book modelo, por lo que no se puede asignar a un tipo específico, así que simple String se utiliza.

Simplemente podría agregar una función como formatted_borrow_date a su modelo o use un asistente para que formatee el borrow_date usando métodos Ruby para evitar el SQL codificado y el formato de fecha.