我有类别和费用之间的关系。费用属于一个类别,它使用数据库中的外键进行链接。每当我删除一个类别时,所有链接的费用也将按预期删除。
现在,我还使用One-to-Many多态关系在Expense和许多Transactions之间建立了关系。使用下面的方法,当我删除费用时,将按预期删除所有交易。
但是,当我删除一个类别时,所有费用都将被删除以及预期,但不会从任何费用中删除。为什么这样,当我删除类别时,如何确保所有费用都被删除?
在费用模型中删除事件:
protected static function boot() {
parent::boot();
static::deleting(function($expense) {
$expense->transactions()->delete();
});
}
关系费用 - >交易:
public function transactions()
{
return $this->morphMany(Transaction::class);
}