使用ActiveRecord :: Base.connection返回哈希而不是数组

Alexis_user

我必须使用这样的查询:

query = Enc.joins(:rec).group("enc.bottle").
select("enc.bottle as mode, count(rec.id) as numrec, sum(enc.value) as sumvalue")

我使用的:

@enc = ActiveRecord::Base.connection.select_all(query)

要获取数据,我必须做@enc.rows.first[0](它可以工作)

但是@enc.rows.first["mode"]不起作用!因为每一行都@enc.rows包含array ..而不是每个字段名称的映射。

也许select_all是错误的方法。

是否存在另一种获取具有字段名称的数据的方法?

谢谢

编辑

描述

吉日·波斯皮什希尔(JiříPospíšil)

如果您可以将模型与查询关联,则不需要通用select_all方法。您可以这样使用find_by_sql

Enc.find_by_sql(query).first.mode
# => testing

请注意,在检查结果时您将看不到别名,但是它们在那里。同样,约定是对表使用复数名称。您可能会发现坚持使用默认值会更容易。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用ActiveRecord :: Base.connection的正确方法

来自分类Dev

为什么Rails 5使用ApplicationRecord而不是ActiveRecord :: Base?

来自分类Dev

ActiveRecord :: Base.connection.execute(sql)。每个都不返回数据

来自分类Dev

如何传递ActiveRecord :: Base类的哈希值

来自分类Dev

ActiveRecord :: Base.connection.execute的受影响的行

来自分类Dev

扩展ActiveRecord :: Base

来自分类Dev

扩展ActiveRecord :: Base

来自分类Dev

覆盖ActiveRecord :: Base

来自分类Dev

ActiveRecord使用数组的数组作为参数

来自分类Dev

使用ActiveRecord匹配记录中的数组

来自分类Dev

带有ActiveRecord的哈希数组

来自分类Dev

返回数组而不是哈希表

来自分类Dev

如何成功继承ActiveRecord :: Base?

来自分类Dev

Ruby on Rails-为什么不能使用ActiveRecord :: Base方法?在哪里使用?

来自分类Dev

joomla BASE HREF使用HTTP而不是HTTPS

来自分类Dev

joomla BASE HREF使用HTTP而不是HTTPS

来自分类Dev

ActiveRecord :: Base.connection.table_structure(“ <表名>”)的Rails控制台抛出错误

来自分类Dev

ActiveRecord::Base.establish_connection 连接到错误的数据库

来自分类Dev

什么时候在Perl中使用数组而不是哈希更好?

来自分类Dev

如何在哈希而不是数组上使用Perl grep?

来自分类Dev

如何使用perl解析diffgam.xml文件,以获取哈希数组而不是大型哈希图?

来自分类Dev

如何使用perl解析diffgam.xml文件,以获取哈希数组而不是大型哈希图?

来自分类Dev

获取数组而不是ActiveRecord:Relation

来自分类Dev

在ActiveRecord模型上使用Establishment_connection时,AdapterNotSpecified

来自分类Dev

在ActiveRecord模型上使用Establishment_connection时,AdapterNotSpecified

来自分类Dev

使用Rails ActiveRecord返回带有嵌套结果的查询

来自分类Dev

使用Uniq时ActiveRecord查询返回双精度

来自分类Dev

使用ActiveRecord在PostgreSQL中匹配数组值

来自分类Dev

当参数采用数组时,使用ActiveRecord“ where”的Rails

Related 相关文章

  1. 1

    使用ActiveRecord :: Base.connection的正确方法

  2. 2

    为什么Rails 5使用ApplicationRecord而不是ActiveRecord :: Base?

  3. 3

    ActiveRecord :: Base.connection.execute(sql)。每个都不返回数据

  4. 4

    如何传递ActiveRecord :: Base类的哈希值

  5. 5

    ActiveRecord :: Base.connection.execute的受影响的行

  6. 6

    扩展ActiveRecord :: Base

  7. 7

    扩展ActiveRecord :: Base

  8. 8

    覆盖ActiveRecord :: Base

  9. 9

    ActiveRecord使用数组的数组作为参数

  10. 10

    使用ActiveRecord匹配记录中的数组

  11. 11

    带有ActiveRecord的哈希数组

  12. 12

    返回数组而不是哈希表

  13. 13

    如何成功继承ActiveRecord :: Base?

  14. 14

    Ruby on Rails-为什么不能使用ActiveRecord :: Base方法?在哪里使用?

  15. 15

    joomla BASE HREF使用HTTP而不是HTTPS

  16. 16

    joomla BASE HREF使用HTTP而不是HTTPS

  17. 17

    ActiveRecord :: Base.connection.table_structure(“ <表名>”)的Rails控制台抛出错误

  18. 18

    ActiveRecord::Base.establish_connection 连接到错误的数据库

  19. 19

    什么时候在Perl中使用数组而不是哈希更好?

  20. 20

    如何在哈希而不是数组上使用Perl grep?

  21. 21

    如何使用perl解析diffgam.xml文件,以获取哈希数组而不是大型哈希图?

  22. 22

    如何使用perl解析diffgam.xml文件,以获取哈希数组而不是大型哈希图?

  23. 23

    获取数组而不是ActiveRecord:Relation

  24. 24

    在ActiveRecord模型上使用Establishment_connection时,AdapterNotSpecified

  25. 25

    在ActiveRecord模型上使用Establishment_connection时,AdapterNotSpecified

  26. 26

    使用Rails ActiveRecord返回带有嵌套结果的查询

  27. 27

    使用Uniq时ActiveRecord查询返回双精度

  28. 28

    使用ActiveRecord在PostgreSQL中匹配数组值

  29. 29

    当参数采用数组时,使用ActiveRecord“ where”的Rails

热门标签

归档