基礎的なことで恐縮です。
CakePHP3公式のCMSチュートリアルで勉強しています。
以下「記事の追加」サンプルのaddメソッドで、$this->Articles->newEntity();で作ったエンティティを$this->setでViewに渡しています。
https://book.cakephp.org/3.0/ja/tutorials-and-examples/cms/articles-controller.html#id3
次に、以下「addテンプレートの作成」サンプルで、$this->Form->create($article)としてcreateメソッドの引数に上記のエンティティをセットしています。
https://book.cakephp.org/3.0/ja/tutorials-and-examples/cms/articles-controller.html#add
submit後、そのエンティティを上記addメソッドの保存処理の部分で、patchEntityメソッドでPOSTデータとマージして保存しています。
仮にaddメソッドでエンティティを作らず、Viewも$this->Form->create()とし、submit後の保存処理の部分で
$this->Articles->newEntity($this->request->getData());の戻り値でsaveすれば同じように保存されるのですが、なぜ
チュートリアルではわざわざエンティティを作ってViewに渡しているのでしょうか?
回答1件
あなたの回答
tips
プレビュー