ThinkPHP5开发连载四十二之模型定义+初始化

上一篇文章讲解“数据库查询构造器-原生查询”,本篇文章讲解“模型定义+初始化”。

Model(模型)是应用程序中用于处理应用程序数据逻辑的部分。通常模型对象负责对数据库中数据进行操作。

1. 模型定义

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

定义一个User模型类:

模型类的位置。

定义User模型类。

模型类定义代码:

注意:

1. 对数据苦进行操作,需要连接数据库,数据库的连接详见文件“数据库/数据库连接”。

2. 设置数据表

如果你的模型规则和上面的系统约定不符合,那么需要设置Model类的数据表名称属性,以确保能够找到对应的数据表。

例如:设置表前缀为think_,但此时的user模型所对应的表为tp_user,并不是think_前缀,因此需要在模型类中重新设置数据表。

注意:

1. 或者通过设置当前模型的数据库连接$connection参数进行设置。

2. ThinkPHP5.0不支持单独设置当前模型的数据表前缀。

3. 设置主键

模型中默认主键为自动识别,如果需要指定,可以设置属性:

4. 模型调用

1)静态调用

在Index控制器中调用User模型。

预览:

user表中数据:

2)实例化调用

在User模型中创建一个方法,作用是查询user表中数据。

Index控制器中实例化User模型,并调用getAll方法

浏览器访问预览

3)Loader类实例化

预览:

注意:

1.使用Loader类调用模型时,不需要导入模型的命名空间,但是要导入Loader类的命名空间。

4)助手函数model

预览:

5.模型初始化

模型同样支持初始化,与控制器的初始化不同的是,模型的初始化是重写Model的initialize,具体如下:

注意:

1. 模型与控制器的初始化区别:

控制器初始化的_initialize方法,是该控制器方法调用之前首先执行。

模型初始化的initialize方法,是重写Model模型的initialize方法。

ThinkPHP5连载为卓象程序员原创,转载请联系卓象程序员

关注卓象程序员,定期发布技术文章

下一篇讲解“模型-新增”

  • 发表于:
  • 原文链接:https://kuaibao.qq.com/s/20180908A0F3KU00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券