首页 > 数据库 > mysql教程 > 如何在 Rails 3 中不使用模型执行自定义 SQL 查询?

如何在 Rails 3 中不使用模型执行自定义 SQL 查询?

DDD
发布: 2024-12-26 15:27:14
原创
767 人浏览过

How to Execute Custom SQL Queries in Rails 3 Without Using a Model?

不使用模型的 Rails 3 自定义 SQL 查询

在 Rails 3 中,不使用模型执行自定义 SQL 查询可以通过建立直接与数据库的连接。但是,您提供的代码在执行方法中遇到了问题。

要解决此问题,您可以使用以下方法:

  1. 使用 ActiveRecord 建立与数据库的连接:: Base.建立_connection.
  2. 使用检索连接对象ActiveRecord::Base.connection。
  3. 使用 connection.execute 执行自定义 SQL 查询。

以下是包含这些更改的代码的修改版本:

@connection = ActiveRecord::Base.establish_connection(
  :adapter => "mysql2",
  :host => "localhost",
  :database => "siteconfig_development",
  :username => "root",
  :password => "root123"
)

results = @connection.connection.execute("select * from users")
results.each do |row|
  puts row[0]
end
登录后复制

或者,按照提供的解决方案中的建议,您也可以使用 :as =>; :hash 选项,同时迭代结果以按名称访问列:

@connection = ActiveRecord::Base.establish_connection(
  :adapter => "mysql2",
  :host => "localhost",
  :database => "siteconfig_development",
  :username => "root",
  :password => "root123"
)

sql = "SELECT * from users"
@result = @connection.connection.execute(sql)
@result.each(:as => :hash) do |row|
  puts row["email"]
end
登录后复制

通过使用此方法,您可以直接执行自定义 SQL 查询,而无需依赖模型。

以上是如何在 Rails 3 中不使用模型执行自定义 SQL 查询?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板