Laravel Softdelete具有外键和限制约束?

时间:2016-05-04 06:16:10

标签: php mysql laravel laravel-5.2

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

框架中是否已有内置功能? Softdelete已经在运行,但我需要对相关模型进行某种验证。例如向用户发送错误消息"您无法删除此项目,因为它有5个相关记录"

谢谢,

2 个答案:

答案 0 :(得分:0)

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

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

您可以在 here.

中获取有关此内容的所有文档

答案 1 :(得分:0)

没有为解决方案而建立解决方案"拔出"软删除的数据库关系。

您可以做的是使用观察员(event listener)或使用eloquent model events例如deleting / deleted,如:

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