W CakePHP funkcja find()
metoda zwraca dane, takie jak twój pierwszy format. Ale jeśli chcesz sformatować jak drugi, musisz to przetworzyć ręcznie (staraj się tego uniknąć, jeśli to możliwe)
$data = $this->find('all');
$assocs = Set::extract('/User', $data); // extracting all `User` array
foreach($assocs as $key => $assoc) {
unset($data[$key]['User']); // removing the associate `User` from `$data`
$data[$key]['UserGroup']['User'] = $assoc['User']; // adding associate under `UserGroup`
}