Mel*_*lon 5 activerecord ruby-on-rails ruby-on-rails-2
在Rails v2.3,Ruby 1.8中,如果我在我的模型类中运行带有以下代码的sql语句:
ActiveRecord::Base.connection.execute("select count(*) from cars;")
Run Code Online (Sandbox Code Playgroud)
如何在服务器控制台中显示查询结果?
我试过了 :
rslt = ActiveRecord::Base.connection.execute("select count(*) from cars;")
p rslt
Run Code Online (Sandbox Code Playgroud)
但它只返回服务器控制台上的"MySQL结果对象",而不是确切的结果.
Iur*_* G. 11
有几种方法可以从查询中获取mysql"answer".你可以调用每一行,它将迭代每一行(只有一行 - 在你的情况下计数).看一下mysql gem docs,看看其他可用的方法,比如each_hash和all_hashes.
rslt = ActiveRecord::Base.connection.execute("select count(*) from cars;")
rslt.each {|mysql_result| puts mysql_result}
Run Code Online (Sandbox Code Playgroud)
您可以to_a在结果上使用该方法,如下所示:
result = connection.execute(sql)
result.to_a
Run Code Online (Sandbox Code Playgroud)
这将返回(并在控制台中显示)您要查找的内容.
| 归档时间: |
|
| 查看次数: |
7374 次 |
| 最近记录: |