【发布时间】:2014-12-14 07:27:17
【问题描述】:
我有一个用于软删除子级的典型事件挂钩:
public static function boot()
{
parent::boot();
static::deleted(function($model1)
{
$model1->hasmanyrelation()->delete();
});
}
和
public function hasmanyrelation()
{
return $this->hasMany('Model2');
}
现在当我使用时:
$model0->model1->each(function($model1){$model1->delete();});
一切正常,模型 1 的模型 2 子节点被(软)删除。但是当我使用时:
$model0->model1()->delete();
然后所有相关的 model1 记录都将被删除,但 model2 及其所有记录保持不变。后一种更简单的语法(删除 model1 记录但跳过其模型事件)有什么问题??
【问题讨论】:
标签: events laravel model eloquent