ops*_*psb 4 activerecord arel ruby-on-rails-3
我想运行一个只返回我指定的列的查询.我无法通过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)
Run Code Online (Sandbox Code Playgroud)
但这也包括选择中的交易.*.我设法让它像这样工作:
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)
Run Code Online (Sandbox Code Playgroud)
这看起来很糟糕,有没有更好的方法呢?
如果我理解你在寻找什么,你可以使用selectARel方法
User.select('id').where('')
=> [#<User id: 2>, #<User id: 4>....
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1610 次 |
| 最近记录: |