Thanks a lot guys for clarifying this. It worked with the aliases as you suggested.
Fred, to your last point: sorry about that, you are right. I just made up the example to show the mechanics, I didn't realize it didn't quite make any sense. Peter On Oct 5, 8:37 am, Frederick Cheung <frederick.che...@gmail.com> wrote: > On Oct 5, 12:19 am, PierreW <wamre...@googlemail.com> wrote: > > > > > > > Hi guys, > > > When I do: > > > temp = User.find(:all, > > :joins => "INNER JOIN contents ON users.agent_id = > > contents.id", > > :select=> "contents.id, users.id, users.u_date") > > > temp.first.inspect > > > It seems to work fine, but it only returns: > > #<User id: 6, u_date: "2009-10-03 19:32:23"> > > > but not the contents.id information. > > > I don't get it, and I don't know what to do to rectify this. It seems > > like since I call find on User, it only returns infos related to this > > model. > > By the way, when I copy the SQL code generated by Rails directly in my > > DB, it works fine and returns all 3 fields. > > > Do you have any idea what I am missing? > > attributes are stored in a hash, ie there can be only one attribute > called id - you need to alias the contents.id attribute. Even when you > do that, inspect won't show the extra value, but temp.first.content_id > (assuming you alias it as content_id) should return the right id. > Lastly, what's the point of the hoin to get contents.id when you know > the contents.id == users.agent_id ? > > Fred > > > > > > > Thanks a lot! > > Peter --~--~---------~--~----~------------~-------~--~----~ 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+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---