Mysql
 sql >> Baza danych >  >> RDS >> Mysql

kiedy używałem aliasu find_by_sql, byłem zdezorientowany

Aktywnie ładujesz Books z bazy danych, więc AREL próbuje zmapować twoją instrukcję select do modelu. W tym przypadku mapuje datę na borrow_date atrybut i konwertuje go na obiekt Date. Wybrane oryginalne formatowanie nie jest już wtedy istotne, ponieważ zostało przeanalizowane do obiektu, który ma własne zasady drukowania daty.

Twój drugi wybór działa, ponieważ prawdopodobnie nie ma atrybutu tej nazwy w Twojej Book model, więc nie można go zmapować do określonego typu, więc zwykły String jest używany.

Możesz po prostu dodać funkcję taką jak formatted_borrow_date do swojego modelu lub użyj helpera, aby sformatować borrow_date używając metod ruby, aby uniknąć zakodowanego na stałe kodu SQL i formatowania daty.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Połącz pola wierszy o tym samym identyfikatorze w MySQL

  2. Kaskada INNODB przy usuwaniu i aktualizowaniu

  3. Nie wybrano bazy danych — PHP i MySQL

  4. Wywoływanie widoku bazy danych w Yii przy użyciu Active Record

  5. MySql, łącząc kolumnę daty i godziny w znacznik czasu