Laravel Softdelete带有外键和限制约束


Laravel Softdelete with foreign key and restrict constraints?

我想知道如何将Laravels softdelete与MySql外键restrict约束一起使用。

框架中是否已经构建了一些内容?Softdelete已经在工作,但我需要对相关模型进行某种验证。例如,给用户的错误消息"您不能删除此项目,因为它有5条相关记录"

谢谢,

软删除时没有用于"取消编程"DB关系的内置解决方案。

例如,您可以使用观察者(事件侦听器)或使用雄辩的模型事件,例如deleting/deleted,如:

public function boot()
{
    User::deleted(function ($user) {
        if ($user->deleted_at) {
            // here You have to unplug all the dependencies
        }
    });
}

是的,在Laravel中,他们有软删除模型。要在模型上使用此Illuminate'Database'Eloquent'SoftDeletes特征,请将deleted_at列添加到$dates属性中。

他们也有自己的查询软删除模型。你可以选择任何人。

您可以在中获取有关这方面的所有文档