我有一个 Symfony 2.8 应用程序,它使用Gedmo\Timestampable
注释进行自动created_at
和updated_at
操作,但它似乎在updated_at
首次创建实体/行时将相同的时间戳放入列中。AnUPDATE
确实会导致该updated_at
列显示较新的时间戳,但我希望它一开始是空白的。
我的理解是,在 an 上INSERT
,只有该created_at
列应该填充时间戳,并且updated_at
应该保持空白,因为它还没有被更新。只有在列的第一次更新之后,它才能获得更新时间的值。
我的期望正确吗?我的代码/配置有问题吗?还是此注释实际上是按设计设置了两列的值?
我的config.yml
:
...
stof_doctrine_extensions:
default_locale: "%locale%"
translation_fallback: true
orm:
default:
translatable: true
timestampable: true
...
我的实体:
...
/**
* An automatic timestamp of the creation.
*
* @var \DateTime $createdAt
* @Gedmo\Timestampable(on="create")
* @ORM\Column(name="created_at", type="datetime")
*/
public $createdAt;
/**
* An automatic timestamp of the updation.
*
* @var \DateTime $updatedAt
* @Gedmo\Timestampable(on="update")
* @ORM\Column(name="updated_at", type="datetime")
*/
protected $updatedAt;
...
该表将两列定义为,DATETIME
并且它们没有默认子句。