Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Melaksanakan Pertanyaan SQL Tersuai dalam Rails 3 Tanpa Menggunakan Model?

Bagaimana untuk Melaksanakan Pertanyaan SQL Tersuai dalam Rails 3 Tanpa Menggunakan Model?

DDD
DDDasal
2024-12-26 15:27:14806semak imbas

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

Pertanyaan SQL Tersuai Rails 3 Tanpa Model

Dalam Rails 3, melaksanakan pertanyaan SQL tersuai tanpa menggunakan model boleh dicapai dengan mewujudkan langsung sambungan ke pangkalan data. Walau bagaimanapun, kod yang anda berikan menghadapi masalah dengan kaedah laksana.

Untuk menangani perkara ini, anda boleh menggunakan pendekatan berikut:

  1. Tetapkan sambungan ke pangkalan data menggunakan ActiveRecord:: Base.establish_connection.
  2. Dapatkan semula objek sambungan menggunakan ActiveRecord::Base.connection.
  3. Laksanakan pertanyaan SQL tersuai menggunakan connection.execute.

Berikut ialah versi diubah suai kod anda yang menggabungkan perubahan ini:

@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

Sebagai alternatif, seperti yang dicadangkan dalam penyelesaian yang disediakan, anda juga boleh menggunakan :as => pilihan :hash sambil mengulangi hasil untuk mengakses lajur dengan nama mereka:

@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

Dengan menggunakan pendekatan ini, anda boleh melaksanakan pertanyaan SQL tersuai secara langsung tanpa bergantung pada model.

Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Pertanyaan SQL Tersuai dalam Rails 3 Tanpa Menggunakan Model?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn