模型定义:
在 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();
}