我的问题是关于在删除模型中的文件时使用Eloquent,这与另一个与另一个模型相关的模型有关,所有这些都是通过外部约束进行的:
Documents模型包含'document_name'列。
所以从本质上讲,我想在删除经销商时删除文件;
经营人>客户 - >文件─> DOCUMENT_NAME
我在Documents模型上放了一个删除方法,但是当我删除经销商时如何让它一直推迟?当我删除客户时,我也会效仿。
我是以正确的方式做到这一点,还是有更好的方法来做到这一点?
答案 0 :(得分:0)
最简单的方法是在删除此模型时创建一个事件
<?php
class Dealer extends Model
{
public function customers()
{
return $this->hasMany('Customer');
}
// this is a recommended way to declare event handlers
protected static function boot() {
parent::boot();
static::deleting(function($dealer) {
// do all of the logic for deleting customers and files here
$dealer->customers->get()->delete();
});
}
}
请记住,删除客户和文件的过程可能不正确,但概念基本相同。