我希望这将是一个简单的 :) 我已经玩了几个小时试图模仿这个 has_many 选项:
has_many :pages, :finder_sql => %q(SELECT * FROM `pages` LEFT OUTER JOIN `component_instances` ON `component_instances`.instance_id = `pages`.id AND `component_instances`.instance_type = 'Page' WHERE `component_instances`.parent_id = #{id})
它基本上是一个多态连接,所以有一个 component_instances 表作为一个中心结构,并有不同类型的东西挂在它上面。这是一个嵌套集(在这种情况下并不重要)。
问题似乎是 has_many 不允许我操纵连接条件。而且我不能取消自动生成的外键连接条件。
上面的代码有效,但我想对结果使用范围,而自定义查询无法做到这一点。
任何帮助将不胜感激 :)
干杯,
布伦登