Php Zend Framework 2-条令2-安装和使用Gedmo
我找到了Gidmo扩展,它提供了一个创建和更新对象的时间戳函数 这就是我所需要的(奇怪的是,Zend的人中没有其他人) 我尝试通过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
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”)
。。。你可以把这一行写在你的答案中,以便更快地帮助其他人,你认为呢?