Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 删除原则=”;“级联”;不使用joinColumn_Php_Symfony_Doctrine_Symfony4 - Fatal编程技术网

Php 删除原则=”;“级联”;不使用joinColumn

Php 删除原则=”;“级联”;不使用joinColumn,php,symfony,doctrine,symfony4,Php,Symfony,Doctrine,Symfony4,根据,我只需要在@ORM\join列中指定onDelete=“CASCADE”,它应该生成一个在删除时级联的外键。是我干的 /** * @ORM\OneToMany(targetEntity="OrderDates", mappedBy="order", cascade={"persist", "remove"}, orphanRemoval=TRUE) * @ORM\JoinColumn(name="order_id", referencedColumnName="id", onDelet

根据,我只需要在@ORM\join列中指定onDelete=“CASCADE”,它应该生成一个在删除时级联的外键。是我干的

/**
 * @ORM\OneToMany(targetEntity="OrderDates", mappedBy="order", cascade={"persist", "remove"}, orphanRemoval=TRUE)
 * @ORM\JoinColumn(name="order_id", referencedColumnName="id", onDelete="CASCADE")
 */
private $dates;
但是,当我进行迁移时,它生成的FK不会在删除时层叠

ALTER TABLE order_dates ADD CONSTRAINT FK_28EABDE38D9F6D38 FOREIGN KEY (order_id) REFERENCES orders (id)
我也尝试过删除
,cascade={“persist”,“remove”},orphanremovation=TRUE
部分,但没有效果

编辑: 我还尝试将其设置为反向,但也不起作用(事实上,我这样做时根本不会生成外键):


onDelete=“CASCADE”
适用于拥有方(inversedBy),而不是反向方(mappedBy)。

onDelete=“CASCADE”
适用于拥有方(inversedBy),而不是反向方(mappedBy)。

在注释中进行更改后是否清除缓存和池?请注意,将
onDelete=cascade
cascade=remove
一起使用是多余的。因为
cascade=remove
通过显式删除记录来忽略外键引用。是的,我也读过。我确实尝试过清除缓存-没有区别您使用什么命令来创建迁移?第二个注意事项,在
manytone
关系上使用
cascade=“remove”
将删除父记录。通常情况下,您会将其放入
OneToMany
好的,谢谢!我只是通过像“bin/console make:migration”这样的命令来完成这项工作。在注释中进行更改之后,是否要清除缓存和池?请注意,将
onDelete=cascade
cascade=remove
一起使用是多余的。因为
cascade=remove
通过显式删除记录来忽略外键引用。是的,我也读过。我确实尝试过清除缓存-没有区别您使用什么命令来创建迁移?第二个注意事项,在
manytone
关系上使用
cascade=“remove”
将删除父记录。通常情况下,您会将其放入
OneToMany
好的,谢谢!我只是通过像“bin/console make:migration”这样的命令来完成它,非常感谢。你在文件中看到了吗?是的,在条令文件中,谢谢。你在文件上看到了吗?是的,在条令文件中
/**
 * @ORM\ManyToOne(targetEntity="Orders", inversedBy="dates", cascade={"persist"})
 * @ORM\JoinColumn(name="order_id", referencedColumnName="id", onDelete="CASCADE")
 */
private $order;