我想运行一个只返回我指定的列的查询。我一直无法找到使用 rails 3 做到这一点的好方法。我的第一次尝试是
query = transactions.group("month").
select("DATE_FORMAT(transactions.purchased_at, '%Y-%m') as month")
rows = ActiveRecord::Base.connection.select_all(query.to_sql)
但这也包括选择中的交易。*。我设法让它像这样工作:
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)
虽然这看起来很讨厌,但有没有更好的方法来做到这一点?
最佳答案
如果我明白你在找什么,你可以使用 select
雷尔法
User.select('id').where('')
=> [#<User id: 2>, #<User id: 4>....
关于ruby-on-rails-3 - 使用 rails 3 查询特定列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6708712/