上一篇文章讲解“数据库查询构造器-原生查询”,本篇文章讲解“模型定义+初始化”。
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连载为卓象程序员原创,转载请联系卓象程序员
关注卓象程序员,定期发布技术文章
下一篇讲解“模型-新增”
领取专属 10元无门槛券
私享最新 技术干货