Php 注释Symfony 2/条令2不同
这两者有什么区别Php 注释Symfony 2/条令2不同,php,symfony,doctrine-orm,Php,Symfony,Doctrine Orm,这两者有什么区别 /** * @ORM\ManyToOne(targetEntity="Category", inversedBy="products",cascade={"remove"}) * @ORM\JoinColumn(name="category_id", referencedColumnName="id") */ protected $category; 及 谢谢 第一个命令告诉ORM自己执行级联。因此,条令将在内存中保存数据,以执行自身的删除级联 第二个命令将通知数据库执行o
/**
* @ORM\ManyToOne(targetEntity="Category", inversedBy="products",cascade={"remove"})
* @ORM\JoinColumn(name="category_id", referencedColumnName="id")
*/
protected $category;
及
谢谢 第一个命令告诉ORM自己执行级联。因此,条令将在内存中保存数据,以执行自身的删除级联 第二个命令将通知数据库执行onDelete级联,从doctrine中卸载该过程 请记住,第一个选项将在内存中保留数组/关联以执行删除级联,这可能非常繁重 第一个参数的典型用例是数据模型图不太重的情况,并且您确实希望适应每个实体生命周期事件,即使是使用级联删除的实体生命周期事件
第二种方法的缺点是,您无法适应这些实体生命周期事件,但如果您的数据模型/图形实在太重,这可能是处理级联的唯一选项。编辑了我的第一篇文章:)希望这有帮助!确切地生命周期事件,例如本例中的preRemove或postRemove事件!:)
/**
*
* @ORM\ManyToOne(targetEntity="Category", inversedBy="products")
* @ORM\JoinColumn(name="category_id", referencedColumnName="id", onDelete="CASCADE"))
*/
protected $category;