远程一对多

模型关联

远程一对多

2021-03-25 08:41:45 1002阅读 944赞
远程一对多关联用于定义有跨表的一对多关系,例如:每个城市有多个用户每个用户有多个话题城市和话题之间并无关联关联定义就可以直接通过远程一对多关联获取每个城市的多个话题,City模型定义如下:<?phpnamespace app\inde
多对多关联

模型关联

多对多关联

2021-03-25 08:41:05 624阅读 848赞
版本功能调整5.0.8中间表名无需前缀,并支持定义中间表模型5.0.6attach方法返回值改为Pivot对象关联定义例如,我们的用户和角色就是一种多对多的关系,我们在User模型定义如下:<?phpnamespace appinde
多态关联

模型关联

多态关联

2021-03-25 08:40:25 813阅读 818赞
版本功能调整5.0.8支持多态一对一关联5.0.4支持多态一对多关联多态一对多关联(V5.0.4+)多态关联允许一个模型在单个关联定义方法中从属一个以上其它模型,例如用户可以评论书和文章,但评论表通常都是同一个数据表的设计。多态一对多关联关系,就是为
动态属性

模型关联

动态属性

2021-03-25 08:38:56 624阅读 601赞
模型对象的关联属性可以直接作为当前模型对象的动态属性进行赋值或者取值操作(延迟查询),虽然该属性并非数据表字段,例如:<?phpnamespace app\index\model;use think\Model;class&
关联预载入

模型关联

关联预载入

2021-03-25 08:38:13 876阅读 766赞
关联预载入版本功能调整5.0.7嵌套关联支持数组方式定义5.0.5增加延迟关联预载入5.0.5一对一关联预载入默认采用IN查询方式5.0.4一对一关联支持JOIN和IN两种方式预载入查询关联查询的预查询载入功能,主要解决了N+1次查询的问题,例如下面
关联统计

模型关联

关联统计

2021-03-25 08:37:26 884阅读 834赞
版本新增功能5.0.7关联统计支持指定统计属性名关联统计(V5.0.5+)有些时候,并不需要获取关联数据,而只是希望获取关联数据的统计(关联统计仅针对一对多或者多对多的关联关系),这个时候可以使用withCount方法进行制定关联的统计。$list&
视图实例化

视图

视图实例化

2021-03-25 08:36:53 1020阅读 971赞
视图功能由\think\View类配合视图驱动(模板引擎)类一起完成,目前的内置模板引擎包含PHP原生模板和Think模板引擎。因为新版的控制器可以无需继承任何的基础类,因此在控制器中如何使用视图取决于你怎么定义控制器。继承\think\Contro
模板引擎

视图

模板引擎

2021-03-25 08:35:52 713阅读 798赞
内置模板引擎视图的模板文件可以支持不同的解析规则,默认情况下无需手动初始化模板引擎。可以通过下面的几种方式对模板引擎进行初始化。配置文件在应用配置文件中配置template参数即可,例如:'template'  &
模板赋值

视图

模板赋值

2021-03-25 08:35:00 906阅读 744赞
模板赋值除了系统变量和配置参数输出无需赋值外,其他变量如果需要在模板中输出必须首先进行模板赋值操作,绑定数据到模板输出有下面几种方式:版本新增功能5.0.4增加全局静态模板赋值方法shareassign方法namespace index\a
模板渲染

视图

模板渲染

2021-03-25 08:34:28 810阅读 863赞
模板渲染版本新增功能5.0.4支持渲染视图根目录的模板文件渲染模板最常用的是继承系统的控制器基类后调用fetch方法,调用格式:fetch('[模板文件]'[,'模板变量(数组)'])模板文件的写法支持下面几种:用法描
输出替换

视图

输出替换

2021-03-25 08:33:44 993阅读 686赞
模板输出替换版本新增功能5.0.4增加__ROOT____STATIC____JS__和__CSS__内置替换规则支持对视图输出的内容进行字符替换,例如:namespace index\app\controller;class I
定义

模型

定义

2021-03-25 08:33:11 1037阅读 552赞
版本调整功能5.0.5model或者Loader::model方法支持传入完整的模型类名模型定义定义一个User模型类:namespace app\index\model;use think\Model;class Us
模型初始化

模型

模型初始化

2021-03-25 08:32:43 894阅读 604赞
模型初始化模型同样支持初始化,与控制器的初始化不同的是,模型的初始化是重写Model的initialize,具体如下namespace app\index\model;use think\Model;class Inde
新增

模型

新增

2021-03-25 08:31:46 584阅读 724赞
新增数据有多种方式。添加一条数据第一种是实例化模型对象后赋值并保存:$user           = new User
更新

模型

更新

2021-03-25 08:31:11 793阅读 652赞
版本调整功能5.0.13saveAll方法支持isUpdate方法强制更新5.0.10模型增加setInc和setDec方法查找并更新在取出数据后,更改字段内容后更新数据。$user = User::get(1);$user-&g
删除

模型

删除

2021-03-25 08:30:09 950阅读 836赞
版本更新功能5.0.9destroy方法传入空数组和空字符串不会进行任何删除操作删除当前模型删除模型数据,可以在实例化后调用delete方法。$user = User::get(1);$user->delete();根据主键
查询

模型

查询

2021-03-25 08:29:19 949阅读 589赞
版本调整功能5.0.19模型增加readMaster方法用于后续都从主库读取获取单个数据获取单个数据的方法包括:取出主键为1的数据$user = User::get(1);echo $user->name;//&n
聚合

模型

聚合

2021-03-25 08:28:49 902阅读 689赞
在模型中也可以调用数据库的聚合方法进行查询,例如:方法说明count统计数量,参数是要统计的字段名(可选)max获取最大值,参数是要统计的字段名(必须)min获取最小值,参数是要统计的字段名(必须)avg获取平均值,参数是要统计的字段名(必须)sum
获取器

模型

获取器

2021-03-25 08:28:16 931阅读 696赞
版本更新功能5.0.10获取器方法增加第三个参数传入关联数据获取器获取器的作用是在获取数据的字段值后自动进行处理,例如,我们需要对状态值进行转换,可以使用:class User extends Model {&
修改器

模型

修改器

2021-03-25 08:05:31 881阅读 986赞
版本更新功能5.0.10修改器方法增加第三个参数传入关联数据修改器修改器的作用是可以在数据赋值的时候自动进行转换处理,例如:class User extends Model {