私のアプリでは、ユーザーにプロフィールがある場合とない場合があります。例:ユーザーにプロフィールが表示されない場合404
Array
(
[User] => Array
(
[id] => 7
[username] => noprofile
[password] => 3b8cdb0c849f00f3634d9b29def1dac4e9235795
[email] => [email protected]
[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を使用しています。
これはユーザーを見つけて、プロファイルが空でないためです。プロファイルが空であることを確認するにはどうすればよいですか?
$ profileの値を確認し、実際にif文を入力してcakeErrorを実行していることを確認してください。 – Jrod
どうすれば確認できますか?確認するIDEがない場合は、 – Cameron
IDEが必要です。 if文の前に$ profile変数を印字/エコーし、if文の中に "Hey I am in the IF statement"のような文字列を印字/エコーします。 – Jrod