sql >> Database >  >> RDS >> Mysql

toen ik de alias find_by_sql gebruikte, raakte ik in de war

U laadt actief Books uit de database, dus AREL probeert uw select-statement aan het model toe te wijzen. In dit geval wijst het de datum toe aan de borrow_date attribuut en converteert het naar een Date-object. De oorspronkelijke opmaak die u heeft geselecteerd, is dan niet langer relevant omdat deze is geparseerd naar een object dat zijn eigen regels heeft voor het afdrukken van de datum.

Uw tweede selectie werkt omdat er waarschijnlijk geen kenmerk van die naam in uw Book staat model, dus het kan niet worden toegewezen aan een specifiek type, dus gewoon String wordt gebruikt.

Je kunt gewoon een functie toevoegen zoals formatted_borrow_date aan uw model of gebruik een helper om het de borrow_date te laten formatteren ruby-methoden gebruiken om de hardcoded SQL en datumnotatie te vermijden.




  1. Kreeg de fout 'ongeldige herhalingstelling(en)' van regexp

  2. Hoe selecteert GROUP BY DESC zijn bestelling?

  3. Waarom komen NULL-waarden eerst bij het bestellen van DESC in een PostgreSQL-query?

  4. Hoe u de huidige datum en tijd kunt krijgen (zonder tijdzone) in PostgreSQL