get(); } public function findById(int $id): ?BaseHoliday { return BaseHoliday::find($id); } public function create(array $data): BaseHoliday { $baseHoliday = BaseHoliday::create($data); Unit::all()->each(function (Unit $unit) use ($baseHoliday) { Holiday::create([ 'unit_id' => $unit->id, 'base_holiday_id' => $baseHoliday->id, 'holiday_date' => $baseHoliday->holiday_date, 'description' => $baseHoliday->description, 'type' => $baseHoliday->type, ]); }); return $baseHoliday; } public function update(int $id, array $data): ?BaseHoliday { $model = $this->findById($id); if (!$model) { return null; } $model->update($data); return $model->fresh(); } public function delete(int $id): bool { $model = $this->findById($id); if (!$model) { return false; } return $model->delete(); } }