Symfony Lifecycle回调不起作用

时间:2014-03-18 16:58:21

标签: symfony doctrine-orm

我是Symfony的新手。我想使用LifeCycle回调。我花了很多时间让它上班,但没有成功。我阅读了文档和更多来源,并多次写到那里。

我在yml中有定义。然后我通过orm创建实体:generate ...这个过程为我创建了空的setUpdateTimestamp()函数。我修改了这个功能,但是当我更新时,我看不到变化。

BaseBundle\Entity\Person:
type: entity
table: people
fields:
    id:
        id: true
        type: integer
        nullable: false
        generator:
            strategy: IDENTITY
    first_name:
        type: string
        length: 32
        nullable: true
    last_name:
        type: string
        length: 32
        nullable: true
    updatedAt:
        type: datetime
        nullable: false

lifecycleCallbacks:
  preUpdate: [ setUpdateTimestamp ]

/**
 * Person
 *
 * @ORM\Table(name="people")
 * @ORM\Entity
 * @ORM\HasLifecycleCallbacks
 */
class Person extends BaseBundle\Entity\Base\BaseEntity
{
 /**
 * @var integer
 *
 * @ORM\Column(name="id", type="integer", nullable=false)
 * @ORM\Id
 * @ORM\GeneratedValue(strategy="IDENTITY")
 */
protected $id;

/**
 * @var \DateTime
 *
 * @ORM\Column(name="updated_at", type="datetime", nullable=false)
 */
protected $updatedAt;

...........

/**
 * @ORM\PreUpdate
 */
public function setUpdateTimestamp()
{
    $this->setUpdatedAt(new \DateTime());
}

我的问题在哪里?我有什么问题吗?

编辑: 我用于创建实体和创建迁移文件。

php app/console orm:generate-super-entities --generate-annotations=1 --regenerate-entities=1 --extend="BaseBundle\Entity\Base\BaseEntity" --super-dest-path="src" --super-dest-namespace="Generated" src
php app/console doctrine:migrations:diff  --configuration src/BaseBundle/Resources/config/doctrine-migrations-config.yml  $@

1 个答案:

答案 0 :(得分:1)

我没有意识到在apc缓存中它也可以是某种东西。重新启动apache2服务后,它开始工作。