【问题标题】:How do I get the resultset of a ActiveRecord query for a table that does not have a model?如何获取没有模型的表的 ActiveRecord 查询的结果集?
【发布时间】:2013-01-23 20:39:14
【问题描述】:

我需要连接到远程 MySQL 表中的数据,遍历它,并使用 ActiveRecord“创建”方法,以便执行所有验证和回调。我找到了有关具有多个数据库配置设置并为每个模型单独分配它们的文档,但这不符合我的需求,因为我不想为一次性导入创建模型或迁移。

所以我发现了另一种在 AR 之外查询数据库的方法:

base = ActiveRecord::Base.establish_connection(
  :adapter  => "mysql2",
  :host     => "XXX",
  :username => "YYY",
  :password => "ZZZ",
  :database => "AAA"
)

results = base.connection.execute("SELECT * FROM programs WHERE 1")

但它返回一个看起来相当难以理解的对象:

#<Mysql2::Result:0x007fdf6e8bb9d8>

有什么想法吗?

【问题讨论】:

    标签: mysql ruby-on-rails rails-activerecord


    【解决方案1】:

    这就是诀窍:

    base.connection.select("SELECT * FROM programs WHERE 1")
    

    【讨论】:

      【解决方案2】:

      看看ActiveModel。您可以将所需的所有功能放入其中,并可以访问验证等内容。

      【讨论】:

        猜你喜欢
        • 2015-10-30
        • 1970-01-01
        • 1970-01-01
        • 2014-12-26
        • 2019-09-16
        • 2021-03-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多