diff --git a/app/Models/Chicken.php b/app/Models/Chicken.php index e658bfc..a682b0d 100644 --- a/app/Models/Chicken.php +++ b/app/Models/Chicken.php @@ -3,10 +3,13 @@ namespace App\Models; use App\Enums\ChickenStatus; +use App\Observers\ChickenObserver; +use Illuminate\Database\Eloquent\Attributes\ObservedBy; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\SoftDeletes; +#[ObservedBy([ChickenObserver::class])] class Chicken extends Model { use HasFactory, SoftDeletes; diff --git a/app/Observers/ChickenObserver.php b/app/Observers/ChickenObserver.php new file mode 100644 index 0000000..5f69c86 --- /dev/null +++ b/app/Observers/ChickenObserver.php @@ -0,0 +1,57 @@ +forget('active_chickens_for_egg_collection_form'); + } + + /** + * Handle the Chicken "created" event. + */ + public function created(Chicken $chicken): void + { + $this->clearChickenCache(); + } + + /** + * Handle the Chicken "updated" event. + */ + public function updated(Chicken $chicken): void + { + $this->clearChickenCache(); + } + + /** + * Handle the Chicken "deleted" event. + */ + public function deleted(Chicken $chicken): void + { + $this->clearChickenCache(); + } + + /** + * Handle the Chicken "restored" event. + */ + public function restored(Chicken $chicken): void + { + $this->clearChickenCache(); + } + + /** + * Handle the Chicken "force deleted" event. + */ + public function forceDeleted(Chicken $chicken): void + { + $this->clearChickenCache(); + } +}