我有案例模型。這個案例模型有一個客戶和一個對手領域。 他們都是Person模型。一個案件只有一個客戶和一個對手。現在一個人可以成爲一個客戶,也可以是一個對手,一個人可以有很多個案。 我怎樣才能建立這種協會在鐵軌?當我將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--,因爲我沒有一個客戶表,只是我的帳號表中的帳戶名爲client_id或opponent_id
SELECT cases
。* FROM cases
其中cases
。 person_id
= 3
現在,這必須是客戶端ID或對手ID
感謝您的幫助
對不起,我沒有平均Clients.first.cases,我的意思Person.first.cases – santa
更新我的答案,它應該幫助。 –
不知道我是否錯過了一些東西,但我卻找不到一個人的所有情況。我必須自己做一個查詢嗎?例如像Person.first.client_cases或Person.first.opponent_cases? – santa