我有一个案例模型。这个案例模型有一个客户和一个对手字段。它们都是 Person 模型。一个案件只有一个客户和一个对手。现在,一个人可以是客户,也可以是对手,一个人可以有很多情况。我如何在 Rails 中建立这个关联?当我将 Person 模型拆分为客户端和对手模型时,这似乎很容易,但这对我来说似乎不是很枯燥。
这就是我现在所拥有的
class Person < ActiveRecord::Base
has_many :cases
end
class Case < ActiveRecord::Base
belongs_to :client, class_name: 'Person'
belongs_to :opponent, class_name: 'Person'
end
到目前为止,这很有效,我可以将客户和对手添加到案例中。但是我怎样才能通过客户或对手找到所有的案例呢?
---旧的
当我有 Client.first.cases 我的 sql 查询是: --new 当然我的意思是
Person.first.cases--
因为我没有客户表,所以我在 Case 表中的 id 称为 client_id 或对手ID
选择cases
.* 从cases
哪里cases
。person_id
= 3
现在这必须是客户端 ID 或对手 ID
感谢帮助