UserModel如下:

[php]

<?php

namespaceHome\Model;

classUserInfoModelextends\Think\Model{

public$tableName="UserInfo";

protected$tablePrefix='';

protected$trueTableName='UserInfo';

publicfunctionUserInfoModel(){

}

publicfunction__construct(){

parent::__construct();

}

}

在 controller 里引用,大致如下

[php]

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

namespaceHome\Controller;

useThink\Controller;

useHome\Model\UserInfoModelasUser;

classIndexControllerextendsController{

publicfunctionindex(){

$orders=newUser();

$result=$orders->select();

dump($result);

}

}


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

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

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

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


解决要点:

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

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

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

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