Ich habe ein Modell "MyModel" mit den folgenden Beziehungen:Wie Kette schließt sich in Sequel wie in Active
Class MyModel
#if MyModel < ActiveRecord::Base
has_one a
has_one b
#if MyModel < Sequel::Model
many_to_one a
many_to_one b
end
Mit Active:
MyModel.joins(:a, :b)
oder
MyModel.joins(:a).joins(:b)
gibt die folgende SQL:
SELECT * FROM my_models INNER JOIN bs ON bs.id = my_models.b_id INNER JOIN as ON a.id = my_models.a_id
Aber mit Sequel:
MyModel.join(:as, id: :a_id).join(:bs, id: :b_id)
gibt die folgende SQL:
SELECT * FROM my_models INNER JOIN bs ON bs.id = my_models.b_id INNER JOIN as ON a.id = bs.a_id
Warum join
die letzten verknüpfte Tabelle der Namen verwenden, nicht? Wie bekomme ich das gleiche SQL, das von ActiveRecord in Sequel generiert wird?