任务时间: 2025年06月20日 14:02
任务状态: ✅ 已完成
提交哈希: 8647d5a8
优化土地升级配置管理后台页面,在列表和详情页面显示土地名字而不是ID,提升用户体验。
文件: app/Module/Farm/AdminControllers/FarmLandUpgradeConfigController.php
from_type_id和to_type_id列显示,使用关联的土地类型名字$this->fromType和$this->toType获取土地名字materials和conditions字段显示问题fieldModelCatsJson调用,改为正确的字段显示文件: app/Module/Farm/Repositories/FarmLandUpgradeConfigRepository.php
['fromType', 'toType']public function __construct()
{
parent::__construct(['fromType', 'toType']);
}
$grid->column('from_type_id', '起始土地类型')->display(function ($fromTypeId) {
return $this->fromType ? $this->fromType->name : "未知类型 (ID: {$fromTypeId})";
})->sortable();
$show->field('from_type_id', '起始土地类型')->as(function ($fromTypeId) {
return $this->fromType ? "{$this->fromType->name} (ID: {$fromTypeId})" : "未知类型 (ID: {$fromTypeId})";
});
http://kku_laravel.local.gd/admin/farm-land-upgrade-configs/admin/farm-land-upgrade-configs/1问题: 访问详情页面时出现"materials is not a model casts"错误
原因: 使用了fieldModelCatsJson方法处理非JSON字段
解决: 改为使用正确的字段显示方法,处理消耗组和条件组ID
问题: Repository构造函数中错误使用$this->with()方法
原因: EloquentRepository的构造函数参数应该是关系数组
解决: 修改为parent::__construct(['fromType', 'toType'])
app/Module/Farm/AdminControllers/FarmLandUpgradeConfigController.phpapp/Module/Farm/Repositories/FarmLandUpgradeConfigRepository.phpapp/Module/Farm/Models/FarmLandUpgradeConfig.phpapp/Module/Farm/Models/FarmLandType.php