如果没有发布数据,我希望我在 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
但我不明白为什么会这样。
如果$this->params->data
填充对 Cake 的意义与表单帖子相同,那么我应该如何检查真实、真实的表单帖子?
更新:如果我更改if($this->request->is('post'))
为if($this->request->data)
then 它完全按照我想要的方式工作......但我仍然不明白为什么。