addError('新状态无效'); return false; } try { // 获取宠物信息 $pet = PetUser::find($petId); if (!$pet) { $this->addError('宠物不存在'); return false; } // 检查状态变更是否合法 // 这里可以根据业务需求添加更多的状态变更规则 // 例如:死亡状态的宠物不能变为其他状态 if ($pet->status === PetStatus::DEAD && $newStatus !== PetStatus::DEAD) { $this->addError('死亡状态的宠物不能变更为其他状态'); return false; } // 例如:战斗中的宠物不能直接变为训练中 if ($pet->status === PetStatus::FIGHTING && $newStatus === PetStatus::TRAINING) { $this->addError('战斗中的宠物不能直接变更为训练中状态'); return false; } return true; } catch (\Exception $e) { $this->addError('验证过程发生错误: ' . $e->getMessage()); return false; } } }