我想通过onDelete="CASCADE"
注释在我的某个属性上添加选项@JoinColumn
:
/**
* @ORM\OneToMany(targetEntity="AppBundle\Entity\Product",mappedBy="category",fetch="EAGER")
* @ORM\JoinColumn(onDelete="CASCADE")
*/
private $products;
但是当我尝试使用php bin/console doctrine:schema:update --force
进行更新时,我总是得到:
没有任何内容 - 数据库已经同步。
我尝试添加其他一些属性,但我遇到了同样的问题。但是,如果我故意添加错误,我会收到预期的错误。
我该如何解决这个问题?
答案 0 :(得分:0)
Product
注释是您在多对一关联的反面使用的注释。存储关联这一侧的实体的表不包含指向存储@JoinColumn
实体的表的任何外键,因此没有"连接列"那里。
The documentation声明了以下Product
:
此注释用于@ManyToOne,@ OneToOne字段和嵌套在@ManyToMany内的@JoinTable上下文中的关系上下文。
在您的情况下,注释根本不适用于任何列,因此您的数据库不需要更新。
如果您希望通过数据库的级联操作删除与给定Category
相关的@JoinColumn(onDelete="CASCADE")
个实体,则必须在关联的拥有方添加@ManyToOne
,然后到category
的{{1}}属性的Product
注释。