PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Rails ignoriert Konstanten in der SQL SELECT-Anweisung

Was lässt Sie denken, Ihre constant gibt es nicht? Aus dem feines Handbuch :

Betonung von mir. Wenn Sie also Folgendes sagen:

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

dann kannst du a.first.constant sagen und etwas zurückbekommen. Beachten Sie, dass das übliche inspect Die Ausgabe, die Sie sich wahrscheinlich in der Konsole ansehen, enthält nicht constant als inspect von AR kennt nur Tabellenspalten; In der Konsole sehen Sie Dinge wie diese:

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

aber die Objekte reagieren auf constant Anrufe mit '1' s; ja, es werden wahrscheinlich Strings sein, die Typumwandlungen müssen Sie selbst erledigen.