根据文档和本文,我只需要在@orm\joincolumn中指定ondelete=“cascade”,它应该生成一个在delete时级联的外键。是我干的..
/**
* @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”}、orphanremoval=true
部分,但没有效果。
编辑:我也试过在反面设置它,但它也不起作用(事实上,当我这样做时,根本就没有外键):
/**
* @ORM\ManyToOne(targetEntity="Orders", inversedBy="dates", cascade={"persist"})
* @ORM\JoinColumn(name="order_id", referencedColumnName="id", onDelete="CASCADE")
*/
private $order;
ondelete=“cascade”
在所属端(inversedBy)上工作,而不是在反向端(mappedBy)上工作。
问题内容: 我与用户和角色之间有一个多对多的关系,并带有一个role_user表。我的迁移设置如下(简化): table: table: table: 因此,根据文档,我将我的外键设置为unsigned。 现在,我添加了几个用户,并附加了一些角色- 一切正常。但是,当我删除一个用户()时,该用户在表中的行不会被删除,这导致了多余的行。 我究竟做错了什么? MySQL + InnoDB 编辑:抓取模
我试图收集一些关于以下方法的信息,以便在删除父实体时自动删除子实体。似乎最常见的方法是使用这三个注释中的一个:或或。 我对第三个有点困惑:,因为在教义官方文件中关于这个问题的解释非常少),我希望有人能证实我从网上的研究和经验中收集和了解的以下信息... 它是做什么的? ==>当拥有方实体为。即使您与其他拥有方实体处于中。 应在集合上使用(因此在或关系中使用) ORM中的实现 ==>当拥有方实体是且
我有单向相关实体: 以及以下测试: 如果不是从测试中调用此代码,则效果很好,但在测试中,我得到了一个例外,即建议没有被书籍删除。 此外,我尝试从为Hibernate查询记录的sql中获取任何信息,但我看不到此测试的任何语句。 我不想对实体使用双向链接,只想了解如何解决这个具体问题或以某种方式调试它。
我正在做一个与运行时间有关的练习。exec(),我理解这个运行时。exec不是shell解释器,这就是为什么我执行“bash-c'command'”,但出于某种原因,我可以执行像ls这样的命令,但不能执行echo或重定向或多个命令。这些都不起作用: 这是我的java代码: 我使用以下语法运行上述命令: 这是有效的: 我在Ubuntu 20.04和zsh上使用openjdk 11.0.15。有人能告
Cascade 是一个 JavaScript/TypeScript 库,用来创建流行的用户界面,组合 Reactive 视图模型和功能性的 DOM 组件实现无缝的数据流展示。 在线演示:https://cascade.rocks/