0
我有一個模型 「爲MyModel」 具有以下關係:如何鏈續集加入在ActiveRecord的
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
用ActiveRecord:
MyModel.joins(:a, :b)
或
MyModel.joins(:a).joins(:b)
給以下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
但隨着續集:
MyModel.join(:as, id: :a_id).join(:bs, id: :b_id)
給出了以下SQL:
SELECT * FROM my_models INNER JOIN bs ON bs.id = my_models.b_id INNER JOIN as ON a.id = bs.a_id
爲什麼join
使用最後一個連接表的名字?如何獲得ActiveRecord在Sequel中生成的相同SQL?