モデルを使用しない Rails 3 カスタム SQL クエリ
Rails 3 では、モデルを使用せずにカスタム SQL クエリを実行できます。データベースへの接続。ただし、指定したコードでは、execute メソッドで問題が発生しました。
これに対処するには、次の方法を使用できます:
これらの変更を組み込んだコードの修正バージョンを次に示します。
@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 中国語 Web サイトの他の関連記事を参照してください。