不使用模型的 Rails 3 自定义 SQL 查询
在 Rails 3 中,不使用模型执行自定义 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中文网其他相关文章!