sql >> Databasteknik >  >> RDS >> PostgreSQL

Rails ignorerar konstanter i SQL SELECT-satsen

Vad får dig att tro din constant är inte där? Från den fina manualen :

Betoning min. Så om du säger så här:

a = TableName.find_by_sql("SELECT id, name, 1 AS constant FROM table_name")

sedan kan du säga a.first.constant och få tillbaka något. Observera att den vanliga inspect utdata som du förmodligen tittar på i konsolen kommer inte att innehålla constant som AR:s inspect känner bara till tabellkolumner; du kommer att se saker som detta i konsolen:

[#<TableName id: 6, name: "Pancakes">, ...]

men objekten kommer att svara på constant samtal med '1' s; ja, de kommer förmodligen att vara strängar, du måste sortera typkonverteringarna själv.




  1. PostgreSQL:Prestationsstraff för sammanfogning av två tabeller i separata scheman

  2. SQL Oracle:Ersätt ett tomt resultat med word

  3. Hur skickar man värden till IN-operatören dynamiskt?

  4. SQL-syntaxfel med delsträng och charindex