首页 > 解决方案 > Laravel 将一个可调用的 onDelete 附加到 eloquent 模型

问题描述

我有一个模型需要在删除模型时删除图像。我将调用的模型是Seminar.php. 这个“研讨会”模型在模型中得到了讲师,称为SeminarInstructor.php. 假设我打电话Seminar::find(1)->delete();来删除研讨会id = 1- 我还需要删除连接到模型的任何讲师,如下所示:

public function seminarInstructor()
    {
        return $this->hasMany(SeminarInstructor::class, 'seminar_id', 'id');
    }

我启用了级联,所以当我调用 delete 时,laravel/mysql 应该会自动解决它。但是,我有一个方法调用public function deleteCloudImage1()SeminarInstructor.php其中处理我的表中存在的图像作为 url 的删除逻辑。我可以在删除seminar模型之前手动调用这个方法,但我想知道在 eloquent/laravel 中是否有任何方便的方法来处理这个问题。我查了一下代码,似乎在onDelete实现中调用了一个可调用属性。任何人都知道如何使用它或任何其他替代方法。

标签: phplaraveleloquent

解决方案


推荐阅读