Если отношения объявлены правильно, все данные, которые вам нужны, могут быть получены путем поиска нужной страницы. Но чтобы ограничить количество возвращаемых данных, вам, вероятно, придется использовать ContainableBehavior.
PageModel:
var $actsAs = array('Containable');
PagesController:
function view($id)
{
$this->Page->contain(array('Comment' => array('User', 'Profile')));
$page = $this->Page->find('first', array('conditions' => array('Page.id' => $id)));
}
EDIT
Шарон, по твоему вопросу кажется, что комментарии связаны с пользователями и профилями. Но если «Профиль» означает «профиль пользователя», связи между Комментарием и Пользователем достаточно, и содержимое должно быть:
$this->Page->contain(array('Comment' => array('User' => array('Profile'))));