1
Ich habe diese drei Modelle mit einem has_many durch Beziehung:Schienen - Warum Eager Laden funktioniert in diesem Fall nicht?
class Wine < ActiveRecord::Base
has_many :varietals, :conditions => "varietals.status = 1"
has_many :grapes, :through => :varietals
end
class Grape < ActiveRecord::Base
has_many :varietals
has_many :wines, :through => :varietals
end
class Varietal < ActiveRecord::Base
belongs_to :wine
belongs_to :grape
end
@records = Wine.where(conditions).includes({:varietals => :grape})
Aber wenn ich 10 Weine habe, werde ich 10 Anfragen in meinen Protokollen wie diese hier nach dem Hauptwein Anfrage siehe:
Grape Load (0.6ms) SELECT `grapes`.* FROM `grapes` INNER JOIN `varietals` ON `grapes`.id = `varietals`.grape_id WHERE ((`varietals`.wine_id = '98DF2CEC-61CC-4B22-B40D-620AADF650D2') AND ((varietals.status = 1)))
Wie kann ich die Trauben in die Hauptanfrage laden, um keine Anfrage pro Traube zu haben?
dies nicht funktioniert. –