Ich möchte eine Abfrage ausführen, die nur die von mir angegebenen Spalten zurückgibt. Ich habe keine gute Möglichkeit gefunden, dies mit Rails 3 zu tun. Mein erster Versuch war
query = transactions.group("month").
select("DATE_FORMAT(transactions.purchased_at, '%Y-%m') as month")
rows = ActiveRecord::Base.connection.select_all(query.to_sql)
aber dies beinhaltet auch Transaktionen.* in der Auswahl. Ich habe es geschafft, dass es so funktioniert:
query = transactions.group("month")
query.select_values = [
"DATE_FORMAT(transactions.purchased_at, '%Y-%m') as month",
"count(*) as total"
]
rows = ActiveRecord::Base.connection.select_all(query.to_sql)
Das scheint ziemlich unangenehm zu sein, gibt es einen besseren Weg, dies zu tun?