Thanks for the response. I see that more clearly now.
However, I still have the same problem even when doing a find() from
the other model..

that is:

GamePlayer belongsTo Game

in my controller:...

                $cond = array("conditions"=>array("GamePlayer.user_id"=>1,
"Game.status"=>1));
                $this->set('games', $this->GamePlayer->find('all',$cond));

Doesn't preform the join so i spits back at me "SQL Error: 1054:
Unknown column 'Game.status'..."
>From what I understand so far this should work easily. There has to be
something simple/stupid I'm missing.



On Aug 20, 10:54 am, teknoid <[EMAIL PROTECTED]> wrote:
> The example in the manual is a little misleading. It assumes a
> belongsTo relationship between Post and Author (i.e. Post belongsTo
> Author).
> In that case a JOIN will be performed (remember, JOINs are only done
> for hasOne and belongsTo).
>
> I think the confusion is that it also mentions a hasMany relationship
> (i.e. Author hasMany Post), but in that case the JOIN is not forced.
>
> So, in other words, if you assumed that in the manual example there
> would be a call: $this->Post->find(... then a JOIN is performed and
> everything works as expected. If, however, it was $this->Author-
>
> >find(... then one would likely to see an error similar to yours.
>
> P.S. I've submitted a correction to the manual.
>
> On Aug 19, 8:16 pm, Christian <[EMAIL PROTECTED]> wrote:
>
> > In the manual I found an example of what I'm trying to do, except it
> > doesn't work...
>
> > ---------------------------------------------------------------------------------------------------------------------------------------------
> > Let's say you had a hasMany/belongsTo relationship between Posts and
> > Authors, which would result in a LEFT JOIN. Let's say you wanted to
> > find all the posts that contained a certain keyword (“magic”) or were
> > created in the past two weeks, but you want to restrict your search to
> > posts written by Bob:
>
> > code:
> > array (
> >         "Author.name" => "Bob",
> >         "or" => array (
> >                 "Post.title LIKE" => "%magic%",
> >                 "Post.created >" => date('Y-m-d', strtotime("-2 weeks"))
> >         )
> > )
> > ---------------------------------------------------------------------------------------------------------------------------------------------
> > So you pass that as conditions to your find() call.
>
> > I have a Game model and a GamePlayer model.
> > Game hasMany GamePlayer.
> > GamePlayer belongsTo Game.
> > I want to find all games with inherent Game.status=1, and with an
> > associated GamePlayer.user_id=1
>
> >                 $cond = array("conditions"=>array("Game.status"=>1));
> >                 $games = $this->Game->find('all',$cond));
>
> > --> This will return all the games with status=1, and right underneath
> > the associated GamePlayers
>
> > however, when i say..
> >                 $cond =
> > array("conditions"=>array("Game.status"=>1,"GamePlayer.user_id"=>1));
> > and repeat the find...
>
> > it spits back at me "Unknown column 'Game.status' in 'where clause'"
> > because it doesn't do a JOIN like the example from the cookbook says.
>
> > I know this topic has come up on the google group elsewhere, but they
> > either don't address this exact issue, or i try what is suggested and
> > still no luck.
> > I'd like to think this is a pretty basic and overused query for almost
> > any application of databases.
>
> > thanks,
>
> > Christian

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"CakePHP" group.
To post to this group, send email to cake-php@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/cake-php?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to