跟踪实体或其关系何时更新

时间:2014-01-12 03:43:49

标签: symfony doctrine timestamp

我正在使用Symfony 2.4和doctrine ORM。我有一个父实体Property,它有许多子关系,包括:

  • propertyVideos(OneToMany)
  • propertyPhotos(OneToMany)
  • propertyLocation(OneToOne)

在Property实体的lastUpdated字段中,我需要存储Property entity 或其任何相关实体的上次更新的日期和时间。

在Symfony / Doctrine中有一种简单的方法吗?

1 个答案:

答案 0 :(得分:0)

最简单的赌注是使用gedmo/doctrine-extensions或(对于Symfony)stof/doctrine-extensions-bundle,然后您可以使用以下操作...

Entity\Article:
    type: entity
    table: articles
    fields:
        created:
            type: date
            gedmo:
                timestampable:
                    on: create // $this create
        updated:
            type: datetime
            gedmo:
                timestampable:
                    on: update // $this update
        published:
            type: datetime
            gedmo:
                timestmpable:
                    on: change
                    field: type.title
                    value: Published
                              // $this->type->title changed to "Published"
        blah:
            type: datetime
            gedmo:
                timestampable:
                    on: change
                    field: type.somethingelse
                              // $this->type.somethingelse is changed
    manyToOne:
        type:
            targetEntity: Entity\Type
            inversedBy: articles