Symfony 2.3 @ORMpreUpdate purpose?



我正在按照 http://tutorial.symblog.co.uk/docs/extending-the-model-blog-comments.html 教程进行学习。在博客和评论实体中声明了预更新,但我并不真正了解它们的目的,例如:

public function __construct()
    {
        $this->setCreated(new DateTime());
        $this->setUpdated(new DateTime());
        $this->setApproved(true);
    }
    /**
     * @ORMpreUpdate
     */
    public function setUpdatedValue()
    {
       $this->setUpdated(new DateTime());
    }

如果构造执行相同的工作,那么 setUpdateValue() 中的意义何在?

另外,当我运行时,我运行$ php app/console doctrine:generate:entities BloggerBlogBundle收到错误:

  [DoctrineCommonAnnotationsAnnotationException]                                                                  
  [Semantical Error] The annotation "@DoctrineORMMappingpreUpdate" in method BloggerBlogBundleEntityComment::  
  setUpdatedValue() does not exist, or could not be auto-loaded.                                                     

构造函数仅在创建实体时调用,而不是在从 db 加载时调用(doctrine 为此使用 unserialize())。 setUpdatedValue()在保存实体之前设置 updated 属性(created保持不变)。

相关内容

  • 没有找到相关文章

最新更新