我有一个消息系统供Owner和Renter进行通信。所有者拥有一辆车。 如果Renter有任何疑问,可以发送消息。
NB! 新讨论会自动创建以及发布的消息。
讨论有很多消息。
讨论有以下结构:(id,title,vehicle_id,user_id) 消息具有以下结构:(id,text,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 :(得分:0)
使用:finder_sql
关联has_many
参数解决了问题。我只是在算法中描述了原始的SQL查询,我已经在我的问题中进行了描述。