字段"创建"和#34;修改"在CakePHP3.0.0中没有自动设置(开发预览2)

时间:2014-04-04 06:20:44

标签: cakephp cakephp-3.0

我开始只是好奇地使用CakePHP3.0。 为了熟悉CakePHP3.0的新功能,我在官方网站(http://book.cakephp.org/3.0/en/tutorials-and-examples/blog/blog.html)上关注了博客教程。我所做的只是复制和过去的源代码。 一切都很好,除了字段"创建"和#34;修改"没有得救。他们只是保持NULL。我已经确认这个功能在CakePHP 2.4.6中运行良好。下面是博客教程的表定义和函数add()。

CREATE TABLE articles (
    id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    title VARCHAR(50),
    body TEXT,
    created DATETIME DEFAULT NULL,
    modified DATETIME DEFAULT NULL
);

public function add(){
    $article = $this->Articles->newEntity($this->request->data);
    if($this->request->is("post")){
        if($this->Articles->save($article)){
            $this->Session->setFlash("Success!");
            return $this->redirect(["action"=>"index"]);
        }
        $this->Session->setFlash("Fail!");
    }
    $this->set(compact("article"));
}

2 个答案:

答案 0 :(得分:8)

答案 1 :(得分:0)

在博客教程的第2部分中,您似乎错过了文章模型的创建: http://book.cakephp.org/3.0/en/tutorials-and-examples/blog/part-two.html#create-an-article-model

// src/Model/Table/ArticlesTable.php

namespace App\Model\Table;

use Cake\ORM\Table;

class ArticlesTable extends Table {
    public function initialize(array $config) {
        $this->addBehavior('Timestamp');
    }
}

包含“时间戳”行为是控制这些时间戳字段并使其保持最新的原因。