Ben, Here is an example from the book - http://book.cakephp.org/en/view/83/hasAndBelongsToMany-HABTM
-teh $this->Recipe->bindModel(array( 'hasOne' => array( 'RecipesTag', 'FilterTag' => array( 'className' => 'Tag', 'foreignKey' => false, 'conditions' => array('FilterTag.id = RecipesTag.tag_id') )))); $this->Recipe->find('all', array( 'fields' => array('Recipe.*'), 'conditions'=>array('FilterTag.name'=>'Dessert') )); On Apr 4, 5:07 am, Ben Coleman <benc...@gmail.com> wrote: > Hi, > > I've been using Cake for some time, but recently hit a problem with > hasAndBelongsToMany. > I have a videogame database, I'm trying to add a tagging system to it. > I'm storing my tags in 3NF. > > So I have a model for games which is binding Games to Tags with > hasAndBelongsToMany and also my Tag model binds back to Games with a > hasAndBelongsToMany. The Games model is also bound to some other > tables with belongsTo (e.g. Genre, Region, System etc,). Naturally I > have a join table called "games_tags" linking the many-to-many > relationship. > > I want to query my system and get all games with a specific tag, and > this is where it falls down > If I do: > $this->Game->Tag->find('all', array('conditions' => array('Tag.name > =' => 'foo'))); > It works but it doesn't join the other tables to Game, so I can't get > the Game's genre or system > $this->Tag->Game->find('all', array('conditions' => array('Tag.name > =' => 'foo'))); > This fails with an error "Unknown column 'Tag.name' in 'where clause" > > Either way it's not joining all the tables properly, it seems to do > two separate queries > This is so frustrating because if I was writing the SQL by hand I > would have this solved in a matter of minutes, but Cake removes any of > this freedom. > > What am I doing wrong??? this is such an obvious thing to do > > Thanks in advance > Ben --~--~---------~--~----~------------~-------~--~----~ 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 cake-php+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/cake-php?hl=en -~----------~----~----~----~------~----~------~--~---