假设我有三种型号:
class Parent < ActiveRecord::Base
has_many :children
end
class Child < ActiveRecord::Base
belongs_to :parent
has_many :grandchildren
end
class Grandchild < ActiveRecord::Base
belongs_to :children
end
我会做很多查询来找到父母的孙子。进行多重连接是最有效的,还是最好将Parent
添加到has_many: :grandchildren
和Grandchild
到belongs_to :parent
?似乎这会导致模型失去同步的可能性,尽管在这个特定的应用程序中,关系一旦建立就永远不会改变。
另外,如果我们谈论的模型更加疏远,那么说三个或四个连接起来呢?
更新:澄清一下,我所建模的并非真正的父母/子女/孙子女。我认为更通用的名称会让它更清晰,但我可以看到这些通用名称实际上让它更加混乱。这更像是公司产品有零件订单,我需要找到与公司相关的订单。对不起,感到困惑。