我正在尝试使用基于parent_id方法的一个sql表创建一个动态树视图菜单。
我可以在刀片页上生成树形视图,并添加新的部分和子项。
我现在的问题是,在软删除父节时如何软删除所有子项和子子项?
例如,删除PHP部分时,必须删除PHP部分下的所有子级和子级。
谢谢。
答案 0 :(得分:1)
您可以利用Laravel提供的事件。
<?php
class Parent extends Model
{
protected static function boot()
{
static::deleting(function ($instance) {
$instance->child->each->delete();
});
static::restoring(function ($instance) {
$instance->child->each->restore();
});
}
}
然后,您在子课堂中也做同样的事情。当您的$parent
被软删除时,它将软删除所有子项。然后,该子项还将软删除其所有子项。