Dies ist die Situation.Definieren, welche Spalten auf Modellebene von ActiveRecord abgerufen werden sollen
Eine Krankenhausdatenbank, die ich nicht kontrolliere, mit Tabellen mit bis zu 200 Spalten ... großen Spalten. Ich weiß, dass ich .select(:col1, :col2)
verwenden kann, um die SQL-Ergebnismenge zu verdünnen, aber in einer Beziehung .... Patient.select(:full_name).find[a,b,c,d.....].include(:visits)
... wo Besuche hat 168 Spalten und ich brauche nur stationäre und ambulante Spalten und beobachtete eine Select *
auf den Protokollen, nur tut weh und dauert ewig, um zu laden.
Gibt es eine Möglichkeit, in der Klasse festgelegt, welche Spalten in das Modell aufzunehmen?
etwas sagen wie (ich dies nur bilden)
class Foo < ActiveRecord::Base
select_columns = [:id, :inpatient_date, :outpatient_date]
...
end
So, dass jeder in der Datenbank durchgeführt Abrufs verwendet nur die Spalten auf der Select-Anweisung?
Versucht, dass ... es ein Array zurückgibt. Ich brauche noch ein Modell. Danke. –