I’ve see a lot of traffic to my post about Using unBindModel in CakePHP and while it is a way of cutting down the data that is returned from a query, there is now a better way. Containable behaviour
I’ve only just stumbled upon this and after having used it briefly in testing it seems like a really cool way to chain together models and yet only get the data that you want at the time.
I have used it like this to get the County that a Club is in
$this->User->contain(array( 'Club' => array( 'County' ) )); $user = $this->User->find('first', array( 'conditions' => array( 'User.id' => 1 ), ));
This query brings back an array with User data, Club data and County data. The interesting bit is the Club
[Club] => Array ( [id] => 1 [name] => Ballymun Kickhams GAA Club [county_id] => 2 [County] => Array ( [id] => 2 [province_id] => 1 [name] => West Dublin ) )