我在rails中使用了一些自定义查询。 代码段看起来像
@time_spent = TimeEntry.find(:all,
:joins => "INNER JOIN sometable ON x = y",
:select =>"id, subject, spent_on")
现在获取我正在使用的值
@time_spent[index][:spent_on]
@time_spent[index][:subject]
我想要的是使用索引号代替符号。因此,在运行时我不需要知道select子句中的字段。
例如我想做一些与此相似的事情
@time_spent[index][1]
@time_spent[index][2]
或
如果我可以获得结果集的元数据,我可以使用该信息
请注意?
答案 0 :(得分:0)
当@time_spent是一个对象集合时,这将获得为该集合中第一个[0]项指定的索引的属性值:
@time_spent[0].attributes.values[index]
因此,例如,要获取集合中第二个对象的第5个属性的值:
@time_spent[1].attributes.values[4]
答案 1 :(得分:0)
从结果集中获取字段名称,使用attributes.keys
方法