我找到了gidmo扩展程序,例如,EG为对象的创建和更新提供了时间戳功能。
那就是我(奇怪的是Zend Guys中没有其他人)需要!
我尝试了通过use
的名称空间,如此处所示。但是没有成功。学说验证返回有效,在其他地方没有错误,但是在创建新对象时, created_at
属性为空。
我也尝试了这种方法,但结果相同。
有什么想法我做错了什么?
composer.json:
"require": {
...
"gedmo/doctrine-extensions": "dev-master"
entity.php:
use GedmoMappingAnnotation as Gedmo;
...
class Entity {
/**
* @ORMColumn(type="datetime")
* @GedmoTimestampable(on="create")
* @FormAttributes({"type":"timestamp"})
* @FormOptions({"label":"Created at"})
* @FormExclude()
*
*/
protected $created_at;
}
我不知道您是否真的需要扩展来实现所寻求的功能,请查看本节中讨论的@version注释:对学说文档的乐观锁定。
[edit] @version可用(以及所有学说ORM映射注释),命名空间DoctrineORMMapping
时间戳字段的用法:@Version @ORMColumn(type="datetime")
整数字段的用法: @Version @Column(type="integer")
版本号(不是时间戳)应该是优选的,因为它们在高度并发的环境中可能无法冲突,这与时间戳不同的是,这是可能的,具体取决于在特定数据库平台上的时间戳的分辨率。 (来源:学说文档)