<?php namespace App\Jobs\Setting; use App\Abstracts\Job; use App\Events\Setting\CategoryCreated; use App\Events\Setting\CategoryCreating; use App\Interfaces\Job\HasOwner; use App\Interfaces\Job\HasSource; use App\Interfaces\Job\ShouldCreate; use App\Models\Setting\Category; class CreateCategory extends Job implements HasOwner, HasSource, ShouldCreate { public function handle(): Category { event(new CategoryCreating($this->request)); \DB::transaction(function () { $this->model = Category::create($this->request->all()); }); event(new CategoryCreated($this->model, $this->request)); return $this->model; } }