show->field($field, $label)->as(function ($value) { if ($value instanceof PetGrade) { $value = $value->value; } $labels = [ PetGrade::FIRST->value => '一品', PetGrade::SECOND->value => '二品', PetGrade::THIRD->value => '三品', PetGrade::FOURTH->value => '四品', ]; return $labels[$value] ?? '未知'; }); } /** * 宠物状态显示 * * @param $field * @param $label * @return \Dcat\Admin\Show\Field */ public function fieldPetStatus($field, $label = '状态') { return $this->show->field($field, $label)->as(function ($value) { if ($value instanceof PetStatus) { $value = $value->value; } $labels = [ PetStatus::NONE->value => '未知', PetStatus::NORMAL->value => '正常', PetStatus::FIGHTING->value => '战斗中', PetStatus::DEAD->value => '死亡', ]; return $labels[$value] ?? '未知'; }); } }