У меня есть связь между категориями и расходами. Расход принадлежит категории и связан с использованием внешнего ключа в базе данных. Всякий раз, когда я удаляю категорию, все связанные расходы также будут удалены, как и ожидалось.
Теперь у меня также есть отношение между расходом и многими транзакциями, использующее полиморфное отношение «один ко многим». Используя описанный ниже метод, когда я удаляю расход, все транзакции будут удалены вместе с ним, как и ожидалось.
Но когда я удаляю категорию, все расходы будут удалены, как и ожидалось, но не транзакции из любого расхода. Почему это так и как я могу убедиться, что все Транзакции также удаляются для всех Расходов, когда я удаляю Категорию?
Удаление события в модели Expense:
protected static function boot() {
parent::boot();
static::deleting(function($expense) {
$expense->transactions()->delete();
});
}
Расходы на отношения -> Транзакции:
public function transactions()
{
return $this->morphMany(Transaction::class);
}