Zend Framework 2 - Doctrine 2 - 创建于时间戳字段 [英] Zend Framework 2 - Doctrine 2 - Created at timestamp field
本文介绍了Zend Framework 2 - Doctrine 2 - 创建于时间戳字段的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想在 ZF2
中创建自定义 created_at
注释。我发现一个(德语)教程如何构建这样的注释Symfony2。
I want to create a custom created_at
annotation in ZF2
. I found a (German) tutorial how to build such an annotation in Symfony2.
除了注册 prePersist
监听器之外,一切似乎都很容易复制。
Everything seems easy to copy except the registering of the prePersist
listener.
Symfony中的代码是:
The code in Symfony is:
services:
created_at_listener:
class: Scandio\Annotations\Driver\CreatedAtDriver
tags:
- {name: doctrine.event_listener, event: prePersist}
arguments: [@annotation_reader]
任何建议如何在Zend中实现这一点?
Any suggestions how to achieve this in Zend?
谢谢! / p>
Thanks!
推荐答案
感谢Ocramius 我发现创建一个不同的解决方案,用于创建一个 c> PrePersist 创建时间戳:
Thanks to Ocramius I found a different solution for creating a PrePersist
created at timestamp:
/**
* ...
* @ORM\HasLifecycleCallbacks
* ...
*/
class ChangeRequest
...
/**
* @ORM\Column(type="datetime", nullable=true)
* @Form\Attributes({"type":"text"})
* @Form\Options({"label":"Created at"})
* @Form\Exclude()
*/
protected $created_at;
...
/**
* @ORM\PrePersist
*/
public function timestamp()
{
if(is_null($this->getCreatedAt())) {
$this->setCreatedAt(new \DateTime());
}
return $this;
}
这篇关于Zend Framework 2 - Doctrine 2 - 创建于时间戳字段的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文