Hey henthoca, Thanks for your posts, I pretty much understand your explanations and I'll let you know how I get on.
Ryno henthoca wrote: > Whoops, I forgot to mention that each other model should have a hasMany > relation with the JoinModel, and the JoinModel should belongTo each of > the other three models. I think I might have implied that, but better > to explicitly come out and say it. > > I think this method would ideally allow for an n-way join table, not > limited to 2 like the HABTM relations are. > > henthoca wrote: > > I had ran into this situation a while back, trying to figure out how to > > do a three-way join table. I believe gwoo helped me figure out that it > > was best to create an extra model that belonged to the other three > > models, instead of trying to do crazy HABTM join querys. > > > > My three models were Resources (rooms), Users and Groups (permissions). > > Each user has a certain set of permissions per resource. Eg, User A is > > an Teacher for Room A and a Student for Room B. Then I made an extra > > model ( I named mine GroupsResourcesUser ) to store just the primary > > id's of each of the other three tables, and set all of those as the > > primary key in my new table. > > > > This method lets you pick one side and see which other sides it has, > > like pick a User and see for which Projects the User has each Role, or > > pick a Project to see which Users have each Role for that Project, or > > pick a Role to see which Users have that Role for each Project. > > > > For example, finding the Project-Role combinations for a particular > > (maybe logged in) user, I'd set $this->User->recursive = 3; and just > > use $this->User->findById($id); to get the data. It'll be in the form, > > $data['JoinModelName']['TargetModel1'] etc, so you should be able to > > capture the relationships that way. > > > > It seems to work well enough for me. LMK if I need to explain it better > > though. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Cake PHP" 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 -~----------~----~----~----~------~----~------~--~---