grid->column($field, $label)->display(function ($value) { if ($value instanceof PetStatus) { $value = $value->value; } $colors = [ PetStatus::NONE->value => 'default', PetStatus::NORMAL->value => 'success', PetStatus::DEAD->value => 'danger', PetStatus::FEEDING->value => 'info', PetStatus::TRAINING->value => 'warning', PetStatus::RESTING->value => 'secondary', PetStatus::TRAVELING->value => 'primary', ]; $labels = [ PetStatus::NONE->value => '未知', PetStatus::NORMAL->value => '正常', PetStatus::DEAD->value => '死亡', PetStatus::FEEDING->value => '喂养中', PetStatus::TRAINING->value => '训练中', PetStatus::RESTING->value => '休息中', PetStatus::TRAVELING->value => '外出中', ]; $color = $colors[$value] ?? 'default'; $label = $labels[$value] ?? '未知'; return "{$label}"; })->label(); } }