Thanks Bert, It works perfectly fine. This is exactly what I was looking for. While going through the manual, I had completely left the Behaviors Section. I think its high time that I go through it.
On Sep 28, 4:53 pm, Bert Van den Brande <cyr...@gmail.com> wrote: > I typed this code out of the top of my head, but it might be worth a try : > > $this->User->Behaviors->attach('Containable'); > $this->User->bindModel(array( > 'hasOne' => array( // Model linking type is 'hasOne', this > forces Cake to make joins > 'UserB' => array( // User other name than 'User' to avoid > data arrays being mixed up in the result > 'className' => 'User', > 'foreignKey' => false, // Force conditions in query as > defined below > 'type' => 'LEFT', > 'conditions' => array('User.company_id = > UserB.company_id')) > ))); > $result = $this->User->find('all', array('conditions' => > array('User.id' => 2))); > > Friendly greetings, > Bert > > On Mon, Sep 28, 2009 at 1:43 PM, Bert Van den Brande <cyr...@gmail.com>wrote: > > > I would use the Containable behavior here, combined with a custom binding > > that you attach on the fly. > > > Have no idea however how exactly to expres a self-join binding ... try and > > play around with it :) > > > On Mon, Sep 28, 2009 at 12:04 PM, hunny <saurabh85maha...@gmail.com>wrote: > > >> On Sep 28, 2:19 pm, Aivaras <faifas1...@gmail.com> wrote: > >> > Hey, take a look at this: > >>http://voveris.eu/2009/09/05/left-join-with-cakephp/Iam sure you find > >> this > >> > handy. > > >> > On Mon, Sep 28, 2009 at 12:04, hunny <saurabh85maha...@gmail.com> > >> wrote: > > >> > > Hi All, > > >> > > I am new to cakephp. I would like to execute the following SELF Join > >> > > query. > > >> > > SELECT B.* FROM `users` AS A LEFT JOIN `users` AS B > >> > > ON A.id = 2 where A.company_id = B.company_id > > >> > > Could some one guide or refer some tutorials, on how to achieve this > >> > > in cake php. > > >> > > Thanks in advance.... > > >> Hi All, > > >> Bad me, I think should have explained my problem properly. > > >> Lets say following are the contents of my users table: > > >> id | name | company id > > >> 1 | abc | 123 > >> 2 | def | 123 > >> 3 | ghi | 124 > >> 4 | jkl | 123 > > >> Now what I want is to retrieve, for a member (say 'abc') all the > >> people who are working in the same company. > > >> Even though company_id is a foreign key, I am not interested in the > >> data of that table. What you suggested above is how to get the data > >> from the company table. > > >> The simple sql query if I want all the members working in same company > >> as id = 2 would be: > > >> SELECT B.* FROM `users` AS A LEFT JOIN `users` AS B > >> ON A.id = 2 where A.company_id = B.company_id > > >> Since this includes JOIN with the table itself, I am not sure how to > >> achieve using Association Type. > > --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---