是否有一种模块化方法可以在 L4 中执行级联软删除?
我的数据库已经设计为通过硬删除来执行此操作,因为所有表都与另一个表相关。但是,我正在使用软删除,并且真的不想让表超载delete()
我的模型中的方法 - 只是由于(A)模型的数量,以及(B)必须编辑delete()
当其他模型发生变化时,所有模型中的方法。
任何指示或提示将不胜感激。
我有级联删除工作使用模型事件 http://laravel.com/docs/eloquent#model-events,例如在产品模型中,我绑定到已删除的事件,以便可以软删除所有关系:
// Laravel's equivalent to calling the constructor on a model
public static function boot()
{
// make the parent (Eloquent) boot method run
parent::boot();
// cause a soft delete of a product to cascade to children so they are also soft deleted
static::deleted(function($product)
{
$product->images()->delete();
$product->descriptions()->delete();
foreach($product->variants as $variant)
{
$variant->options()->delete();
$variant->delete();
}
});
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)