0
我想创建一个组合其他两个关联的附加关联。如何将两个'has_many_through'关联加入另一个关联?
class Person < ActiveRecord::Base
has_many :cats
has_many :dogs
has_many :pets(dogs and cats) ???
end
有没有人知道一个很好的方法来实现这个目标?
编辑:
我需要拉出来的记录连接表,而不管他们是在什么样的列这纯粹是一个优化问题,这样我不需要ping到两次分贝为每个协会。
编辑:
我选择了一组差数据的例子。
class Person < ActiveRecord::Base
has_many :senders (is a person object)
has_many :receivers (is a person object)
has_many :contacts(friends and enemies) ???
end
。那些领域friend_id和enemy_id
我想要的轨道的方式说所谓的传真连接表:
SELECT DISTINCT persons.*
FROM persons
WHERE persons.id IN
(
SELECT faxes.sender_id
WHERE fakes.receiver_id = (?)
)
OR persons.id IN
(
SELECT faxes.receiver_id
WHERE fakes.sender_id = (?)
)
你是什么意思平的分贝两次?你的意思是在多个select语句中吗?如果是这样,用单一选择检索猫和狗的唯一方法是如果它们使用STI存储在同一个表中。 –