首页 > 教程 >

thinkphp模型定义

2023-02-16教程围观

简介一.定义模型1、定义一个与数据库相匹配的模型classUserextendsModel{}2、模型会自动对应数据表,模型类的命名规则是除去表前缀(例如:tp_)的数据表名称,采用驼峰法命名,并且首字母大写,例如:tp_user(表名)=>User(模型名)tp_user_type(表名)=>UserType(模型名)3、如果担心模型的名称和PHP关键字冲突,可以启用类后缀功能,只需要在应用配置文件

  

一.定义 模型

1、定义一个与数据库相匹配的模型

class User extends Model{}

2、模型会自动对应数据表,模型类的命名规则是除去表前缀(例如:tp_)的数据表名称,采用驼峰法命名,并且首字母大写,例如:

tp_user(表名) => User(模型名)

tp_user_type(表名) => UserType(模型名)

3、如果担心模型的名称和PHP关键字冲突,可以启用类后缀功能,只需要在应用配置文件app.php中设置:

// 开启应用类库后缀

'class_suffix'           => true,

4. 设置完毕后,所有的控制器名与类名都要加上Controller与Model,例如:

Class UserModel

Class UserController


二.模型设置

1、默认主键是id,如果想设置其他主键,类似于uid:

protected $pk = 'uid';

2、在控制器调用模型的时候,如果控制器类名与模型名重复,可以设置别名:

use apptestmodelUser as UserModel;

3、在模型定义中也可以在模型中设置其他表名:

protected $table = 'tp_other';

4、模型同控制器一样也支持初始化,这里必须设置static静态方法,具体如下:

protected static function init(){    //初始化内容}

三.模型操作

1、模型操作与数据库操作一致,但是模型操作不需要指定表名,例如:

数据库操作:

Db::name('user')->all ();

模型操作:

User:all();

2、模型操作与数据库操作返回的结果类型不同,数据库操作返回的结果是一个(二维)数组[ [ ] ],而模型操作返回的结果是一个结果集[ { } ]。


下载链接:网站源码/小程序源码/网站模板下载

Tags: thinkphp 模型 定义