后台 /admin/farm-crop-logs 页面存在显示错误:
通过检查发现问题根源:
数据库存储值与枚举映射不匹配:
getGrowthStageNameAttribute方法使用的是1,2,3,4的简单映射筛选器配置错误:
修改 app/Module/Farm/Models/FarmCropLog.php:
// 修改前
public function getGrowthStageNameAttribute(): string
{
return match($this->growth_stage) {
1 => '种子期',
2 => '发芽期',
3 => '生长期',
4 => '成熟期',
default => '未知阶段'
};
}
// 修改后
public function getGrowthStageNameAttribute(): string
{
return GROWTH_STAGE::getName($this->growth_stage);
}
修改 app/Module/Farm/AdminControllers/FarmCropLogController.php:
// 修改前
$filter->equal('growth_stage', '生长阶段')->select([
1 => '种子期',
2 => '发芽期',
3 => '生长期',
4 => '成熟期',
]);
// 修改后
$filter->equal('growth_stage', '生长阶段')->select(\App\Module\Farm\Enums\GROWTH_STAGE::getAll());
/admin/farm-crop-logs,确认生长阶段列正确显示为"发芽期"等具体阶段名称✅ 列表页面生长阶段列正确显示具体阶段名称
✅ 筛选器正确显示所有生长阶段选项
✅ 详情页面生长阶段字段正确显示
git add app/Module/Farm/AdminControllers/FarmCropLogController.php app/Module/Farm/Models/FarmCropLog.php
git commit -m "修复农作物日志后台管理页面生长阶段显示错误
- 修复FarmCropLog模型的getGrowthStageNameAttribute方法,使用GROWTH_STAGE枚举正确转换生长阶段名称
- 修复FarmCropLogController筛选器中的生长阶段选项,使用GROWTH_STAGE::getAll()获取正确的枚举值
- 解决列表页面和详情页面中生长阶段显示为'未知阶段'或空白的问题"
git push