ThinkPHP3 模型类定义及方法调用

模型定义:

在 Home 模块 Model 文件下新建 UserModel.class.php 模型类文件

namespace Home\Model;
use Think\Model;
class UserModel extends Model {
    protected $tablePrefix = '';     // 前缀
    protected $tableName = '’;       // 表名
    protected $trueTableName = '';   // 实际全名
    protected $dbName = '';          // 数据库名
    protected $connection = '';      // 数据库配置

    public function add(){

    }
}

如果没有属性设置(注释掉),则模型类默认的操作表为 user,连接为 config.php 全局数据库配置项

tablePrefix:表的前缀,如果未定义则获取配置文件中的DB_PREFIX参数

tableName:不包含表前缀,与模型名称相同,只有当表名与模型类名称不同的时候才需要定义

trueTableName:数据表全名,数据库中的实际表名,只有当上面的规则都不适用的情况下才需要设置

dbName:数据库名称,只有当前的模型类对应的数据库名称和配置文件不同时才需要定义

connection:数据库连接信息,无配置时采用全局连接方法

模型实例化:

$db = D('User');
$db->select();

当 \Home\Model\UserModel  类不存在的时候,D 函数会尝试实例化公共模块下面的 \Common\Model\UserModel 类。

在公共模块下的命令空间需定义为:

namespace Common\Model;

调用模型类方法:

$db->add();

模型类调用同名父类方法:

public function add(){
    Model::add();
}

评论

还没有任何评论,你来说两句吧!