get(); } public function storeProgramLevel(array $programLevelData): ProgramLevel { return DB::transaction(function () use ($programLevelData) { $programLevel = ProgramLevel::create($programLevelData); return $programLevel; }); } public function getProgramLevelById(int $id) { return ProgramLevel::findOrFail($id); } public function updateProgramLevel(int $id, array $programLevelData) { $programLevel = $this->getProgramLevelById($id); return DB::transaction(function () use ($programLevel, $programLevelData) { $programLevel->update($programLevelData); return $programLevel; }); } public function deleteProgramLevel(int $id) { return DB::transaction(function () use ($id) { $programLevel = $this->getProgramLevelById($id); $programLevel->delete(); return true; }); } }