UserModel如下:
[php]
<?php
namespace Home\Model;
class UserInfoModel extends \Think\Model {
public $tableName = "UserInfo";
protected $tablePrefix = '';
protected $trueTableName = 'UserInfo';
public function UserInfoModel() {
}
public function __construct() {
parent::__construct ();
}
}
在 controller 里引用,大致如下
[php]
namespace Home\Controller;
use Think\Controller;
use Home\Model\UserInfoModel as User;
class IndexController extends Controller {
public function index() {
$orders = new User ();
$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.看下文档《基础》——>《开发规范》和《模型》——>《模型定义》一节