PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Rails ignora le costanti nell'istruzione SQL SELECT

Cosa ti fa pensare alla tua constant non c'è? Dal manuale di precisione :

Enfasi mia. Quindi se dici questo:

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

quindi puoi dire a.first.constant e ottenere qualcosa in cambio. Nota che il solito inspect l'output che probabilmente stai guardando nella console non includerà constant come inspect di AR conosce solo le colonne della tabella; vedrai cose come questa nella console:

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

ma gli oggetti risponderanno a constant chiama con '1' S; sì, probabilmente saranno stringhe, dovrai risolvere tu stesso le conversioni di tipo.