3.2 KiB
3.2 KiB
订单系统 - Admin 类错误修复
问题描述
订单列表查询时报错:Class "app\common\model\admin\Admin" not found
根本原因
Order 模型中的 creator 关系指向了错误的 Admin 类路径:
- ❌ 错误:
app\common\model\admin\Admin - ✅ 正确:
app\common\model\auth\Admin
修复内容
1. 修复 Order 模型中的 creator 关系
文件: server/app/common/model/Order.php
// 修复前
public function creator()
{
return $this->belongsTo('app\common\model\admin\Admin', 'creator_id', 'id');
}
// 修复后
public function creator()
{
return $this->belongsTo('app\common\model\auth\Admin', 'creator_id', 'id');
}
2. 修复 OrderLists 中的表名
文件: server/app/adminapi/lists/order/OrderLists.php
患者搜索时使用了错误的表名:
- ❌ 错误:
table('user') - ✅ 正确:
table('la_user')
// 修复前
$query->table('user')
->where('nickname|mobile', 'like', '%' . $this->params['patient_keyword'] . '%')
->field('id');
// 修复后
$query->table('la_user')
->where('nickname|mobile', 'like', '%' . $this->params['patient_keyword'] . '%')
->field('id');
3. 增强错误处理
文件: server/app/common/model/Order.php
在获取器中添加异常处理,防止关系加载失败导致整个查询失败:
// 获取器-患者名称
public function getPatientNameAttr($value, $data)
{
if ($value) {
return $value;
}
try {
$patient = $this->patient()->find();
return $patient ? $patient->nickname : '';
} catch (\Exception $e) {
return '';
}
}
// 获取器-患者电话
public function getPatientPhoneAttr($value, $data)
{
if ($value) {
return $value;
}
try {
$patient = $this->patient()->find();
return $patient ? $patient->mobile : '';
} catch (\Exception $e) {
return '';
}
}
// 获取器-创建人名称
public function getCreatorNameAttr($value, $data)
{
if ($value) {
return $value;
}
try {
$creator = $this->creator()->find();
return $creator ? $creator->name : '';
} catch (\Exception $e) {
return '';
}
}
修复的文件
-
✅
server/app/common/model/Order.php- 修复 creator 关系路径
- 增强获取器错误处理
-
✅
server/app/adminapi/lists/order/OrderLists.php- 修复 lists() 方法中的表名
- 修复 count() 方法中的表名
验证
修复后,订单列表查询应该正常工作:
- ✅ 订单列表加载成功
- ✅ 患者信息正确显示
- ✅ 创建人信息正确显示
- ✅ 患者关键词搜索正常
测试步骤
- 访问订单列表页面
- 验证订单数据正确加载
- 验证患者信息显示
- 验证创建人信息显示
- 测试患者关键词搜索
相关文件
server/app/common/model/Order.php- 订单模型server/app/adminapi/lists/order/OrderLists.php- 订单列表server/app/common/model/auth/Admin.php- Admin 模型(正确位置)server/app/common/model/user/User.php- User 模型
版本信息
- 修复版本: 1.1.1
- 修复日期: 2026-03-10
- 修复类型: Bug 修复
- 状态: ✅ 完成
修复完成 ✅