Php Zend Framework 2-条令2-安装和使用Gedmo

Php Zend Framework 2-条令2-安装和使用Gedmo,php,doctrine-orm,timestamp,zend-framework2,zend-db,Php,Doctrine Orm,Timestamp,Zend Framework2,Zend Db,我找到了Gidmo扩展,它提供了一个创建和更新对象的时间戳函数 这就是我所需要的(奇怪的是,Zend的人中没有其他人) 我尝试通过use包含名称空间,如图所示。但是没有成功。条令验证在其他地方返回有效且无错误,但在创建新对象时,在处创建的属性为空 我也试过,但结果是一样的 知道我做错了什么吗 composer.json: "require": { ... "gedmo/doctrine-extensions": "dev-master" Entity.php: use Gedm

我找到了Gidmo扩展,它提供了一个创建和更新对象的时间戳函数

这就是我所需要的(奇怪的是,Zend的人中没有其他人)

我尝试通过
use
包含名称空间,如图所示。但是没有成功。条令验证在其他地方返回有效且无错误,但在创建新对象时,在处创建的属性为空

我也试过,但结果是一样的

知道我做错了什么吗

composer.json:

"require": {
    ...
    "gedmo/doctrine-extensions": "dev-master"
Entity.php:

use Gedmo\Mapping\Annotation as Gedmo;
...

class Entity {   

/**
 * @ORM\Column(type="datetime")
 * @Gedmo\Timestampable(on="create")
 * @Form\Attributes({"type":"timestamp"})
 * @Form\Options({"label":"Created at"})
 * @Form\Exclude()
 *
 */
protected $created_at;

}

我不知道你是否真的需要一个扩展来实现你正在寻找的功能,看看本节中讨论的@Version注释:条令文档

[编辑]名称空间
doctor\ORM\mapping

时间戳字段的用法:
@Version@ORM\Column(type=“datetime”)

整数字段的用法:
@Version@Column(type=“integer”)

然而,版本号(不是时间戳)应该是首选的,因为它们在高度并发的环境中不会发生潜在冲突,这与时间戳不同,时间戳是可能的,这取决于特定数据库平台上时间戳的分辨率。 (来源:条令文件)


看起来不错,但不幸的是我找不到如何包含
@version
。。。
use
语句是什么样子的?您可以使用以下任一选项:
use-Doctrine\ORM\Mapping\Version
然后使用注释@Version,或者如果您已经有
使用Doctrine\ORM\Mapping as ORM
调用注释by
@ORM\Version
很酷,似乎可以工作:
@Version@ORM\Column(type=“datetime”)
。。。你可以把这一行写在你的答案中,以便更快地帮助其他人,你认为呢?