thinkphp Class 'Home\Mode\User' not found 无法找到数据模型类的问题
更新:HHH   时间:2023-1-7


UserModel如下:

[php]

  1. <?php  

  2.   

  3. namespace Home\Model;  

  4.   

  5. class UserInfoModel extends \Think\Model {  

  6.     public $tableName = "UserInfo";  

  7.     protected $tablePrefix = '';  

  8.     protected $trueTableName = 'UserInfo';  

  9.     public function UserInfoModel() {  

  10.     }  

  11.     public function __construct() {  

  12.         parent::__construct ();  

  13.     }  

  14. }  

在 controller 里引用,大致如下

[php]

  1. // 本类由系统自动生成,仅供测试用途  

  2. namespace Home\Controller;  

  3.   

  4. use Think\Controller;  

  5. use Home\Model\UserInfoModel as User;  

  6.   

  7. class IndexController extends Controller {  

  8.     public function index() {  

  9.         $orders = new User ();  

  10.         $result = $orders->select ();  

  11.         dump ( $result );  

  12.     }  

  13. }  


出现标题所示问题的原因大致如下:

1.定义的 model 没有放在合适的位置.

2.定义的 model 没有引用命名空间.

3.表的名称不符合 thinkphp 命名规范,而且没有声明关于数据表名称的属性定义.


解决要点:

1.model,通常放在 module->Moel->xxx.class.php(注意 tp的命名规范).

        注意有可能忘记文件名的 class。

2.在 model 里要先引用tp 的 model 类,或者如上所示代码中直接 extends.

      

3.看下文档《基础》——>《开发规范》和《模型》——>《模型定义》一节


返回web开发教程...