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:
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!