Trong CakePHP, find()
phương thức trả về dữ liệu giống như định dạng đầu tiên của bạn. Nhưng nếu bạn muốn định dạng như định dạng thứ hai thì bạn phải xử lý nó bằng tay (cố gắng tránh điều này nếu có thể)
$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`
}