【发布时间】:2015-01-05 08:27:29
【问题描述】:
我定义了 2 个模型:
程序模型:
class Program extends \Eloquent {
protected $guarded = [];
public static function boot()
{
parent::boot();
static::deleting(function($program)
{
DB::table('descriptions')->where('id',$program->id)->delete();
return true;
});
}
public function description()
{
return $this->hasOne('Description');
}
}
描述模型,其中定义了程序的描述
class Description extends \Eloquent {
protected $guarded = [];
public function program()
{
return $this->belongsTo('Program','id','id');
}
}
当我删除具有特定名称的程序时,我也希望删除该程序的描述。
所以:
Program::where('name',Input::get('name'))->delete();
很遗憾,此代码不会触发 Program 模型的“删除”事件,并且描述也不会被删除。
怎么了?
【问题讨论】: