我刚开始学习CakePHP,我开始使用官方博客教程。到目前为止一直很好,但我没有得到当前和修改时间如何在db中保存,因为在视图和控制器中都没有任何指向这些字段的行。
这是添加的PostsController.php代码:
public function add()
{
if($this->request->is('post'))
{
$this->Post->create();
if($this->Post->save($this->request->data))
{
$this->Session->setFlash(__('Your post has been saved.'));
return $this->redirect(array('action' => 'index'));
}
else
{
$this->Session->setFlash(__('Unable to add your post.'));
}
}
}
这是add.ctp的视图代码:
<!-- File: /app/View/Posts/add.ctp -->
<?php echo $this->Html->link('Home', 'index/home'); ?>
<h1>Add Posts</h1>
<?php
echo $this->Form->create('Post');
echo $this->Form->input('title');
echo $this->Form->input('body', array('rows' => '3'));
echo $this->Form->submit('Add Post', array('name' => 'add_post'));
//echo $this->Form->end('Save Post');
?>
有人请告诉我哪一行节省了当前时间?非常感谢您的帮助。
答案 0 :(得分:2)
默认的Cake父模型中有一个隐藏函数,用于检查名称为“created”和“modified”的字段,并自动更新值。
在/lib/Cake/Model/Model.php中搜索字符串'modified',您会看到很多对此的引用。
我不确定这是如何记录的,我在调试一些时髦的保存行为时遇到了它。
在我的系统中,在找到这个小宝石之前,我确定了'created_at'和'modified_at'字段。
编辑:这在此处记录: http://book.cakephp.org/2.0/en/models/saving-your-data.html#using-created-and-modified
答案 1 :(得分:0)
检查AppModel.php是否包含函数save(){}和UpdateAll(){}。接下来检查mysql中创建和修改字段的数据类型。然后修改你的问题以便更清晰。