. */ declare(strict_types=1); namespace FireflyIII\Services\Internal\Destroy; use DB; use FireflyIII\Models\Category; /** * Class CategoryDestroyService * */ class CategoryDestroyService { /** * @param Category $category */ public function destroy(Category $category): void { $category->delete(); // also delete all relations between categories and transaction journals: DB::table('category_transaction_journal')->where('category_id', (int)$category->id)->delete(); // also delete all relations between categories and transactions: DB::table('category_transaction')->where('category_id', (int)$category->id)->delete(); // delete references to category from recurring transactions. DB::table('rt_meta')->where('name', 'category_id')->where('value', $category->id)->delete(); } }