thinkphp6---一对一关联
2021/9/12 17:34:53
本文主要是介绍thinkphp6---一对一关联,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
使用Thinkphp6开发项目,一对一关联查询应该是使用比较多的了,下面做一个简单的记录:
首先是栏目表:admin_category
其次是文章表:article
首先是两个模型:
做关联查询的模块,可以是空模型:
查询文章,关联栏目:
关联查询:hasOne
hasOne('关联模型类名', '外键', '主键');
关联模型类名(必须):关联模型名
外键:默认的外键规则是当前模型名(不含命名空间,下同)+_id ,例如user_id
主键:当前模型主键,默认会自动获取也可以指定传入
理解:在进行建表的时候,例如: 主表:article 字段:id cate_id title 附表:category 字段:cate_id title 通过cate_id对表进行关联,在进行查询的时候,写法是这样的: hasOne(category::class,cate_id(外键)) 但是我们通常建表会这样建立: 主表:article 字段:id cid title 附表:category 字段:id title 这样建表,cid指向的就是附表的主键id,当前模型的主键就是cid。主键:是指一列或多列,其值能够唯一标识某一行。 hasOne(category::class,id,cid)
通过这样查询,我们获得的数组是一个二维数组,其中category中包括完整的数据结构,我们只需要某几个字段,可以设置闭包约束:
$users = User::with(['profile' => function($query) { $query->field('id,user_id,name,email'); }])->select();
附表关联主表做查询:例如:我想查询每一个栏目下都有哪些文章
使用:belongsTo进行关联查询
belongsTo('关联模型','外键', '关联主键');
关联模型(必须):关联模型类名
外键:当前模型外键,默认的外键名规则是关联模型名+_id
关联主键:关联模型主键,一般会自动获取也可以指定传入
示例:
具体查询方法:
到此一对多的基础用法就完了。
这篇关于thinkphp6---一对一关联的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23怎么实现安卓+php 热更新方案?-icode9专业技术文章分享
- 2024-11-22PHP 中怎么实现判断多个值是否为空、null 或者为 false?-icode9专业技术文章分享
- 2024-11-11开源 PHP 商城项目 CRMEB 二次开发和部署教程
- 2024-11-09怎么使用php在kaufland平台刊登商品?-icode9专业技术文章分享
- 2024-11-05PHP的抽象类和接口是什么,有什么区别-icode9专业技术文章分享
- 2024-11-01开源 PHP 商城项目 CRMEB 安装和使用教程
- 2024-11-01用php和mysql写无限分类,有哪几种方法-icode9专业技术文章分享
- 2024-10-31php数据分表导出时部分数据无法导出什么原因-icode9专业技术文章分享
- 2024-10-30有经验的 PHP 开发者学习一门新的编程语言,有哪些推荐的有前景的语言-icode9专业技术文章分享
- 2024-10-21php 检测图片是否篡改过-icode9专业技术文章分享