. */ declare(strict_types=1); namespace FireflyIII\Handlers\Observer; use FireflyIII\Models\Attachment; use FireflyIII\Models\Category; use FireflyIII\Repositories\Attachment\AttachmentRepositoryInterface; /** * Class CategoryObserver */ class CategoryObserver { public function deleting(Category $category): void { app('log')->debug('Observe "deleting" of a category.'); $repository = app(AttachmentRepositoryInterface::class); $repository->setUser($category->user); /** @var Attachment $attachment */ foreach ($category->attachments()->get() as $attachment) { $repository->destroy($attachment); } $category->notes()->delete(); } }