初めて質問します。超初心者です。
CakePHPの学習本で、質問の投稿とそれに対する回答を行えるサービスを作ってみよう的な課題に取り組んでいます。
課題の中に、回答のidとAuthのユーザーidが一致していたら回答を削除するというコードがあるのですが、
何故$this->Auth->user($id)ではなく$this->Auth->user('id')となるのか分かりません。
PHP
1public function delete(int $id) 2 { 3 $answer = $this->Answers->get($id); 4 $questionId = $answer->question_id; 5 6 if ($answer->user_id !== $this->Auth->user('id')) { 7 $this->Flash->error('他のユーザーの回答を削除することはできません'); 8 9 return $this->redirect(['controller' => 'Questions', 'action' => 'view', $questionId]); 10 } 11 12 if ($this->Answers->delete($answer)) { 13 $this->Flash->success('回答を削除しました'); 14 } else { 15 16 $this->Flash->error('回答の削除に失敗しました'); 17 } 18 19 return $this->redirect(['controller' => 'Questions', 'action' => 'view', $questionId]); 20 }
Answersテーブルからidを取得するときは$this->Answers->get($id)と$idを使っているのに、
Authのときは$this->Auth->user('id')となるのは何故でしょうか?
回答2件
あなたの回答
tips
プレビュー