初めて質問します。超初心者です。
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')となるのは何故でしょうか?
公式ドキュメントをよめば質問は起きない項目です
公式ドキュメントを読んだかどうかはこの質問内容からは誰も汲み取れません。本当になにも調べず試さず丸投げる人との区別は他人にはできませんよ。
それに「学習本」の書籍名やページも明示されてないので確認しようがないですし。
そういう自分本意なコミュニケーションの取り方は嫌われないんですか?
この件では、公式ドキュメントを読んだか読んでいないかは関係ありません。
質問サイトを使って『教えてください』と言っている人に対して、『ググれ』と回答するような人は嫌われますよという意味です。
学習本の書籍名やページを記載してほしいと思うのなら、
『学習本の書籍名やページを記載してください。でないと、答えようがありません』と書けばいいじゃないですか?初心者って書いてますよね?
質問サイトで質問に関係のないコメント付けて楽しいですか?
『調査したこと・試したことを記入する』とアドバイス頂いた方、
ありがとうございます。
当方、本日初投稿の初心者なのでそういったことも知らず、大変助かります。
質問に関係ありますよ。
むしろガイドラインやヘルプも読まず利用するのはどこの世界でも批難されて然るべきという話をしています。
指摘を受けてるのですから言い返すのではなく質問修正するのが正しい対応ではないですか?
技術的な初心者は仕方ないですがルールを確認しないのは初心者以前の問題かと思います。
ちなみに勘違いされているようですが、「低評価」による自動コメントは「アドバイス」ではないです。
ルールを守ってないことによる「ルール見直して出直せ」というメッセージとして使われることが多いです。複数集まるということは「わざわざコメントで指摘するのも面倒なくらい明らかな不備」ということですよ。
ですから、質問を修正して返すのがこのteratailでやっていく上での対応です。
今回の対応はマズいと思います。「指摘を受け入れず言い返す要注意人物」として捉えられてもおかしくないでしょう。
現にはじめのコメントが削除されてますよね。複数通報受けるようなマズイコメントだったということにもなります。
(自身で削除依頼だしたとしたら「都合の悪いコメントの証拠隠滅をはかった」として更によろしくないですけど)
コメントで具体的な指摘があるだけまだマシなんですよ。
> 「質問サイトを使って『教えてください』と言っている人に対して、『ググれ』と回答するような人は嫌われますよ」「初心者って書いてますよね?」
これは回答者が言う言葉であって、質問者が言うととても印象悪いです。次回の質問時に気を付けてみてください。。
回答2件
あなたの回答
tips
プレビュー