通过级联/批量删除删除模型时运行代码

时间:2019-08-27 18:50:28

标签: laravel eloquent

我有一个基本上代表上传的表,因此,当删除代表该表的模型实例时,我希望从我的上载文件夹中删除要代表的文件。

到目前为止,我所做的工作基本上是覆盖delete方法,以便在删除模型实例之前,文件也将保留。

问题:这不仅不适用于级联删除,而且如果我删除集合,也无效。...

我查看了事件,例如Model :: deleting,但是它们遇到的问题完全相同(即它们不是由级联删除或批量删除触发的)。

我也考虑过使用SQL触发器,但是似乎无法从SQL中删除文件(如果可以,请通知我,我会喜欢的!我正在使用MySQL,btw)。

除了有一个单独的查询并在每次需要进行批量删除/级联时对其进行迭代以删除文件之外,我是否还有一个更好的选择?或者真的吗?

1 个答案:

答案 0 :(得分:0)

看看https://laravel-news.com/laravel-model-events-getting-started

您需要在模型中定义一个事件。