我有一个供业主和租客交流的消息系统。车主拥有车辆。如果租客有任何问题,他可以发送消息。
注意!一个新的讨论会与发布的消息一起自动创建。
讨论有很多消息。
讨论具有以下结构:(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)。
有人可以帮我解决这个问题吗?无法弄清楚如何进行此关联查询。
提前致谢!