Dans CakePHP, le find()
La méthode renvoie des données comme votre premier format. Mais si vous voulez formater comme le second, vous devez le traiter à la main (essayez d'éviter cela si possible)
$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`
}