CakePHP2 で作成したフォームにデータが投稿されていない場合は空白で表示されますが、セッション キー Person.id が存在する場合はモデルからのデータが入力されます。これが私のコードです:
function about() {
// Make session key for debug purposes
$this->Session->write("Person.id",1);
if($this->request->is('post')) {
debug("post");
} else {
debug("not post");
// Use the value in the session Person.id to find the
// record in the Person model
$this->params->data = $this->Person->findById($this->Session->read("Person.id"));
}
}
上記のほとんどの作品。データを投稿せずにビューにアクセスすると、フォームにはPerson
モデルからのデータが期待どおりに入力されます。
ただし、フォームを投稿すると、not post
期待していたときにまだデバッグ メッセージが表示されますpost
。
データを割り当てる行をコメントアウトしてから$this->params->data
フォームを送信すると、正しいデバッグメッセージが表示されますがpost
、なぜこれが起こっているのかわかりません。
移入されたことが Cake にとってフォーム投稿と同じことを意味する場合$this->params->data
、真の本物のフォーム投稿を確認するにはどうすればよいでしょうか?
更新:変更if($this->request->is('post'))
するとif($this->request->data)
、希望どおりに機能します....しかし、理由はまだわかりません。