# 订单系统 - 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` ```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')` ```php // 修复前 $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` 在获取器中添加异常处理,防止关系加载失败导致整个查询失败: ```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 ''; } } ``` ## 修复的文件 1. ✅ `server/app/common/model/Order.php` - 修复 creator 关系路径 - 增强获取器错误处理 2. ✅ `server/app/adminapi/lists/order/OrderLists.php` - 修复 lists() 方法中的表名 - 修复 count() 方法中的表名 ## 验证 修复后,订单列表查询应该正常工作: - ✅ 订单列表加载成功 - ✅ 患者信息正确显示 - ✅ 创建人信息正确显示 - ✅ 患者关键词搜索正常 ## 测试步骤 1. 访问订单列表页面 2. 验证订单数据正确加载 3. 验证患者信息显示 4. 验证创建人信息显示 5. 测试患者关键词搜索 ## 相关文件 - `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 修复 - **状态**: ✅ 完成 --- **修复完成** ✅