Tuesday, February 14, 2012

[Rails] Model with 2 foreign keys

Hi All,
I'd like to integrate a simple user-oriented messaging system into my
app.
I have a Message model, with :from_user_id, and :to_user_id (for the
user that sent and the user that recieved the message).

Obivously, (User) has_many :messages will fetch the messages that a
certain user has created, but not the ones that they have been sent.

Currently, I have this:
has_many :messages, :foreign_key=>:to_user_id
has_many :sent_messages, :class_name=>'Message',
:foreign_key=>:from_user_id

So I have to get all the messages with 2 separate calls(and sets of
queries). This doesn't seem quite right to me, and was wondering if
there is a better way.

Is it possible to retrieve all messages for a user (recieved AND sent)
in 1 relationship?

Many thanks for reading.

--
Posted via http://www.ruby-forum.com/.

--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.

0 Comments:

Post a Comment

Subscribe to Post Comments [Atom]

<< Home


Real Estate