Heim > Datenbank > MySQL-Tutorial > Wie führe ich benutzerdefinierte SQL-Abfragen in Rails 3 aus, ohne ein Modell zu verwenden?

Wie führe ich benutzerdefinierte SQL-Abfragen in Rails 3 aus, ohne ein Modell zu verwenden?

DDD
Freigeben: 2024-12-26 15:27:14
Original
806 Leute haben es durchsucht

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

Rails 3 Benutzerdefinierte SQL-Abfragen ohne Modell

In Rails 3 kann die Ausführung benutzerdefinierter SQL-Abfragen ohne Verwendung eines Modells durch die Einrichtung einer direkten Funktion erreicht werden Verbindung zur Datenbank. Bei dem von Ihnen bereitgestellten Code ist jedoch ein Problem mit der Ausführungsmethode aufgetreten.

Um dieses Problem zu beheben, können Sie den folgenden Ansatz verwenden:

  1. Stellen Sie mithilfe von ActiveRecord eine Verbindung zur Datenbank her:: Base.establish_connection.
  2. Rufen Sie das Verbindungsobjekt mit ab ActiveRecord::Base.connection.
  3. Führen Sie die benutzerdefinierte SQL-Abfrage mit „connection.execute“ aus.

Hier ist eine modifizierte Version Ihres Codes, die diese Änderungen enthält:

@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
Nach dem Login kopieren

Alternativ können Sie, wie in der bereitgestellten Lösung vorgeschlagen, auch :as => :hash-Option beim Durchlaufen der Ergebnisse, um über ihre Namen auf die Spalten zuzugreifen:

@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
Nach dem Login kopieren

Mit diesem Ansatz können Sie benutzerdefinierte SQL-Abfragen direkt ausführen, ohne auf ein Modell angewiesen zu sein.

Das obige ist der detaillierte Inhalt vonWie führe ich benutzerdefinierte SQL-Abfragen in Rails 3 aus, ohne ein Modell zu verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage