gpt4 book ai didi

mysql - Laravel 4.0 级联删除与多态关系

转载 作者:行者123 更新时间:2023-11-29 06:41:28 26 4
gpt4 key购买 nike

我正在使用 mysql 的 Eloquent 多态关系和 ON DELETE CASCADE 选项,担心我的数据会随着时间的推移保持一致。让我解释一下:

如果我有一个模型房间,其中包含多种类型的家具(morphMany of TableChairCouch...),以及我决定删除它,他的相关家具不会被删除。

为了解决这个问题,我在 Room 模型的 delete 事件 中处理了相关家具的删除,但是这个事件不一定会被触发一直

假设我有一个名为 House 的模型,其中包含多个房间 (hasMany)。如果我决定删除它,它的相关模型将被 mysql 删除,带有 ON DELETE CASCADE 选项。然后,我将保留表 tableschairscouchs 中不再相关且与 的任何行无关的数据code>rooms table 了。

那么保持数据库与 ON DELETE CASCADE 和 Eloquent 的多态关系一致的最佳方法是什么?

最佳答案

如果您使用的是原始数据库(级联)方法,则会绕过 Eloquent 并且无法执行您想要的操作。

为 House 设置 deleted 事件,遍历其所有 Rooms 并删除它们,这再次触发 Room 的 deleted 事件。

关于mysql - Laravel 4.0 级联删除与多态关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21296987/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com