0

我有一个供业主和租客交流的消息系统。车主拥有车辆。如果租客有任何问题,他可以发送消息。

注意!一个的讨论会与发布的消息一起自动创建。

讨论有很多消息。

讨论具有以下结构:(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)。

有人可以帮我解决这个问题吗?无法弄清楚如何进行此关联查询。

提前致谢!

4

1 回答 1

0

解决了它,使用关联:finder_sql参数。has_many我在我的问题中描述了使用算法的原始 SQL 查询。

于 2012-11-16T13:20:19.050 回答