TP6.0 一对一模型关联 hasOne
ThinkPHP技术群: 828567087
预载入查询
$data = User::with('profile')->select();halt($data->toArray());
1. 数据表
创建做测试用的表
-- 用户表
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (`id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '用户id',`username` varchar(255) NOT NULL COMMENT '用户名',`password` char(32) DEFAULT NULL COMMENT '登陆密码',PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 COMMENT='用户表';
INSERT INTO `user` VALUES (1, 'liang', 'e10adc3949ba59abbe56e057f20f883e');
INSERT INTO `user` VALUES (2, 'zhangsan', 'e10adc3949ba59abbe56e057f20f883e');
INSERT INTO `user` VALUES (3, 'laowang', 'e10adc3949ba59abbe56e057f20f883e');
INSERT INTO `user` VALUES (4, 'wangwu', 'e10adc3949ba59abbe56e057f20f883e');
INSERT INTO `user` VALUES (5, 'xiaosun', 'e10adc3949ba59abbe56e057f20f883e');-- 用户资料表
DROP TABLE IF EXISTS `profile`;
CREATE TABLE `profile` (`user_id` int(11) DEFAULT NULL COMMENT '用户id',`age` tinyint(4) DEFAULT NULL COMMENT '年龄',`mobile` bigint(20) DEFAULT NULL COMMENT '手机号',`gender` char(1) DEFAULT NULL COMMENT '性别'
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='用户资料表';
INSERT INTO `profile` VALUES (1, 20, 12305, '男');
INSERT INTO `profile` VALUES (2, 30, 10086, '女');
INSERT INTO `profile` VALUES (5, 40, 10010, '男');
2. 用户模型定义一对一关联方法
public function profile()
{// hasOne('关联模型类名', '外键', '主键');// 用户资料表的外键字段 user_id, 默认为当前模型名 + _id// 用户表的主键字段 id, 默认为当前模型主键 $pk 属性的值return $this->hasOne(Profile::class, 'user_id', 'id');
}
3. 一对一关联支持额外的方法
一、bind():绑定关联表的属性到父模型属性
public function profile()
{return $this->hasOne(Profile::class, 'user_id', 'id')// bind(['字段', '别名' => '字段'])->bind(['age', 'new_mobile' => 'mobile']);
}
二、其他方法
public function profile()
{return $this->hasOne(Profile::class, 'user_id', 'id')// 追加获取器->append(['checked'])// 隐藏关联表的属性->hidden(['age']);
}
TP6.0 一对一模型关联 hasOne相关推荐
- php一对一模型关联,通过实例学习Laravel模型中的一对一关联关系
通过实例学习Laravel模型中的一对一关联关系 一.前言 Laravel遵循[约定优于配置]的原则.PHP开发者只需要遵循Laravel框架的原则,就能减少大量的工作,这便是Laravel的魅力之一 ...
- php一对一模型关联,thinkphp 模型关联一对一排序
`{"code": 1, "msg": "操作成功", "data": { "list": [{ & ...
- 技能学习:学习使用php(tp6框架) + vue.js,开发前端全栈网站-7.分类的模型关联和通用CRUD接口
技能学习:学习使用php(tp6框架) + vue.js,开发前端全栈网站-7.分类的模型关联和通用CRUD接口 技能学习:学习使用php(tp6框架) + vue.js,开发前端全栈网站-1.工具和 ...
- php模型分页代码,ThinkPHP6.0模型关联分页
模型关联分页简单案例,标签关联文章,对文章进行分页,上一篇文章写得比较繁琐,这里可以将问题拆解成一对多关系,那么问题就迎刃而解了. 我们可以通过查询tag直接拿到tag_id,通过中间表和文章表关联一 ...
- sequelize模型关联_Sequelize 中文API文档-3. 模型(表)之间的关系/关联
模型(Model)之间存在各种各样的关系,如:一对一(One-To-One ).一对多(One-To-Many)等.模型间的关系本质上是对其代表的数据库中表之间的关系描述,通过这些关系可以实现数据库中 ...
- 黑马lavarel教程---10、lavarel模型关联
黑马lavarel教程---10.lavarel模型关联 一.总结 一句话总结: 1.模型关联比较方便,一次定义,后面都可以使用 2.关联关系 使用动态属性进行调用 1.一对多,多对多实例? 一对多: ...
- 【SSH进阶之路】Hibernate映射——一对一单向关联映射(五)
[SSH进阶之路]Hibernate基本原理(一) ,小编介绍了Hibernate的基本原理以及它的核心,采用对象化的思维操作关系型数据库. [SSH进阶之路]Hibernate搭建开发环境+简单实例 ...
- Laravel源码分析之模型关联
上篇文章我们主要讲了Eloquent Model关于基础的CRUD方法的实现,Eloquent Model中除了基础的CRUD外还有一个很重要的部分叫模型关联,它通过面向对象的方式优雅地把数据表之间的 ...
- Laravel核心解读--Database(四) 模型关联
Database 模型关联 上篇文章我们主要讲了Eloquent Model关于基础的CRUD方法的实现,Eloquent Model中除了基础的CRUD外还有一个很重要的部分叫模型关联,它通过面向对 ...
- sequelize模型关联_Node.js Sequelize 模型(表)之间的关联及关系模型的操作
Sequelize模型之间存在关联关系,这些关系代表了数据库中对应表之间的主/外键关系.基于模型关系可以实现关联表之间的连接查询.更新.删除等操作.本文将通过一个示例,介绍模型的定义,创建模型关联关系 ...
最新文章
- laravel5.4 关于数据填充的知识
- 研究优雅停机时的一点思考
- ExpressionFuncT,TResult和FuncT,TResult
- 文巾解题 26. 删除有序数组中的重复项
- php 二维数组 根据某个字段排序
- vue调用methods里的方法
- 位运算实现加减乘除四则运算(Java)
- 工作222:title写活
- Linux远程连接与sshd服务安全设定
- C语言和C++中Struct区别
- android 代码设置像素,【Android实例】用设计原则来重构1像素保活代码
- 微信、支付宝、百度(drawImage及canvasGetImageData、支付宝(getImageData))踩坑,uni-app 获取图片底色像素值
- 360开源的插件化框架Replugin深度剖析
- 解决word中Mathtype按钮灰色问题(亲测有效)
- 北京车管所 与 换领驾驶证过程
- 图的表示(Adjacency List + Adjacency Matrix)
- 香港希玛眼科集团第二届眼科精准医疗国际会议在京启幕
- 可视化创建企业管理app
- android extra_shortcut_icon,Android自动创建shortcut
- 31年前的Beyond演唱会,是如何超清修复的?(推荐)
热门文章
- android中java中的开方
- c语言打印星号对勾,Intellij常用快捷键记录
- bartlett方差齐性检验_仅有两独立样本的样本量、均值和标准差,在SPSS进行T检验...
- 等保测评机构推荐证书撤销,纳入国家认证体系
- php怎么将农历转换成公历,PHP实现阳历到农历转换的类实例
- 探索硅谷奇迹的本质--周末荐书之《硅谷之谜》
- 《深入理解RPC框架原理与实现 华钟明》读书笔记
- php 去除单引号,php如何去除双引号
- 无法启动计算机打印机服务程序,Windows10下使用打印机时提示打印后台处理程序服务没有运行怎么办...
- 批量将一个 PDF 文件按固定页数拆分成多个小的 PDF 文件