Cakephp博客教程-编辑例程$this->;张贴->;id=$id;


Cakephp Blog Tutorial - Edit Routine $this->Post->id = $id;

在cakephp博客教程中的Edit Post Edit()操作部分

http://book.cakephp.org/2.0/en/tutorials-and-examples/blog/part-two.html

我不明白这段代码对$this->Post->id = $id; 做了什么

您的url类似于/posts/edit/1,在本例中为$id = 1。这一行的作用是为Post->save()调用将影响的当前记录设置id。

此代码所做的是将Post-id的值设置为URL中传递的$id参数。然后,Post实例将与通过表单输入的数据一起保存。此代码是在表单提交时调用页面时执行的。

举个例子可能更容易理解。假设您获得了编辑第3个帖子的页面,/posts/edit/3。你填写表格并提交。访问相同的URL,但这次是POST。控制器现在已经通过表单输入了所有数据。它只需要从参数$id中获得post-id。有了这些,我们现在可以将帖子保存到DB中。