【发布时间】:2014-05-26 01:22:20
【问题描述】:
我有一些代码如下所示:
query = <<-EOF
select player_id, first_name, last_name,
max(case when site_id = 1 then salary end) fd_salary,
max(case when site_id = 2 then salary end) dd_salary,
max(case when site_id = 3 then salary end) ss_salary,
max(case when site_id = 4 then salary end) ds_salary,
max(case when site_id = 7 then salary end) dk_salary,
max(case when site_id = 8 then salary end) elite_salary
from player_salaries ps
where ps.gamedate = '2014-05-25'
and sport_id = #{$MLB_SPORT_ID}
group by player_id
EOF
salaries = PlayerSalary.connection.execute(query)
问题是salaries 在这种情况下以带有值的数组的形式返回。这些查询有点复杂,我使用的名称(例如fd_salary、dd_salary 等)不是PlayerSalary 模型中的物理属性。没有办法做类似salaries.first.fd_salary 的事情。有没有办法在 Rails 4 中更改上述内容以使其按列名访问值?
【问题讨论】:
标签: mysql ruby-on-rails ruby activerecord ruby-on-rails-4