CakePHPのModelが備える recursive 機能は分かりにくい上に効率が悪い。代わりにContainableビヘイビアを使うべき。今後新たに作り始めるならAppModelに次のように書いても良いくらい。 class AppModel extends Model { var $recursive = -1; var $actsAs = array('Containable'); } このビヘイビアは、一言で言えば ActiveRecord(Rails) の include オプションのようなもの。一度の find で取得する関連を明示的かつ再帰的に指定することができる。 /* Group hasMany User User hasOne Profile */ $rows = $this->Group->find('all', array('contain' => array('U