В моем приложении пользователь может иметь или не иметь профиль. Примером может быть:
Array
(
[User] => Array
(
[id] => 7
[username] => noprofile
[password] => 3b8cdb0c849f00f3634d9b29def1dac4e9235795
[email] => noprofile@noprofile.com
[status] => 0
[code] => 114a10ebb6ffe364805aa70cd44bee7c
)
[Profile] => Array
(
[id] =>
[firstname] =>
[lastname] =>
[gender] =>
[dob] =>
[user_id] =>
)
)
Здесь пользователь noprofile не имеет соответствующего содержимого в таблице профилей.
Как мне показать 404, когда это происходит? Я пробовал:
public function view ( $username )
{
$this->Profile->User->recursive = 2;
$profile = $this->Profile->User->find('first', array(
'conditions' => array('User.username' => $username)
));
if (empty($profile))
{
echo 'echo1';
throw new NotFoundException('No profile');
}
else {
echo 'echo2';
}
$this->set(compact('profile'));
}
Но это не показывает 404! Я использую CakePHP 2.0.
Это потому, что он находит пользователя, поэтому профиль не пуст! Как мне проверить, что профиль пуст?