ホームページ > データベース > mysql チュートリアル > モデルを使用せずに Rails 3 でカスタム SQL クエリを実行するにはどうすればよいですか?

モデルを使用せずに Rails 3 でカスタム SQL クエリを実行するにはどうすればよいですか?

DDD
リリース: 2024-12-26 15:27:14
オリジナル
763 人が閲覧しました

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

モデルを使用しない Rails 3 カスタム SQL クエリ

Rails 3 では、モデルを使用せずにカスタム SQL クエリを実行できます。データベースへの接続。ただし、指定したコードでは、execute メソッドで問題が発生しました。

これに対処するには、次の方法を使用できます:

  1. ActiveRecord を使用してデータベースへの接続を確立します:: Base.establish_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 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート