2012-11-16 53 views
0

我有一個消息系統,用於與Owner和Renter進行通信。車主擁有車輛。 如果Renter有任何問題,他可以發送消息。Rails消息系統(獲取收到的消息)

注意! A 討論創建自動以及張貼消息。

討論有很多消息。

討論有以下內在張力結構:(ID,標題,vehicle_id,USER_ID) 消息有以下結構:(ID,文字,discussion_id,USER_ID)

這是很容易獲取的所有消息,通過發送用戶:

在用戶等級:

has_many :sent_messages, :class_name => "Message", :foreign_key => "user_id" 

,但現在我無法找出如何獲取所有收到爲用戶提供的信息 - user.received_messages

基本上,這意味着有必要查看屬於用戶的所有討論(他創建了該討論並且有不屬於他的消息)或者屬於他的車輛的討論(其他人創建了這個討論和Discussion.user_id == Message.user_id)。

有人可以幫我解決這個問題嗎?無法弄清楚如何進行這種關聯查詢。

在此先感謝!

回答

0

解決了它,使用:finder_sql參數爲has_many關聯。只用原始的SQL查詢算法,我已經在我的問題中描述過了。