注意:一对一的关系是可以在一张表里面完成的,但是一般来说,数据有冷热之分,热数据(查询频繁的数据,应该单独的抽取称为一张表,水平方向字段数应该尽可能的少)冷数据(查询较少的数据,单独的放在另外的一张表里面进行操作,通过一个外键和热数据表进行关联。例如下面的表里面的是通过sh\_profile表里面的user\_id产生的关联。)
场景:例如一个用户存在一个具体的用户履历信息
sh\_user 用户表
id
username
passsword
email
1
caoyang
admin88
gogery@163.com
3
andy
admin88
andy@sina.com
sh\_profile 履历表
id
user\_id
address
card\_id
education
......
23
1
深圳市
421023112
本科
........
34
3
广州市
7754123123
硕士
自己手工的连表查询:
\> select a.\*, b.address from sh\_user a left join sh\_profile b on a.id = b.user\_id where a.id = 3;
- ThinkPHP-5教程
- 简介
- 环境准备
- 必备环境
- composer安装
- 无网安装composer软件
- 安装
- composer安装TP5
- 源码包安装TP5
- 基础
- 开发规范
- 目录规范
- 整体分析
- application目录分析
- index模块
- public目录
- Tp官方的源码目录
- Vendor目录
- 入口文件
- 控制器
- 系统默认控制器
- 自定义控制器编写
- 注意:如果我们的控制器文件使用的大驼峰方式命名,需要使用下划线方式访问
- 调试模式开启
- 视图
- URL和路由
- URL访问
- GET参数处理
- 隐藏入口文件
- 路由定义
- 案例一最简单的路由
- 案例二-路由参数
- 案例三-路由类
- 案例四-闭包处理
- URL分隔符
- 路由参数
- 路由分组
- 其他的路由
- 手册提供
- 请求和响应
- 请求
- 注意:在TP5里面IS_GET、IS_POST等常量已经不存在
- 响应
- 视图载入
- 提示信息-成功和错误
- url函数
- 重定向
- 返回数据类型
- json中文转义
- TP5自带json函数
- 数据库操作-DB类
- 学习手册
- 数据库配置
- 数据库操作-查询
- 数据库操作-增删改
- 数据库切换
- 构造器-查询
- 构造器-添加
- 构造器-更新
- 构造器-删除
- 别名处理
- 助手函数
- 闭包查询
- 使用Query对象查询
- 模型学习
- 模型定义
- 定义sh_user表
- 基本操作-增加
- 基本操作-查看
- 便捷方式获取模型实例
- 基本操作-更新
- 基本操作-删除
- 相关文档
- 模型关联
- 一对一
- 简介
- 关联查询
- 关联添加
- 一对多
- 简介
- 关联查询
- 关联添加
- 多对多
- 自动验证
- 验证类文件-方式一
- 验证类文件-方式二
- 控制器验证-方式一
- 控制器验证-方式二
- 系统验证类的使用
- 验证类的静态方法
- 验证场景
- 表单验证
- 坑-dateFormat验证规则
- SQL调试
- 本地调试模式开启
- 打印最后执行的sql
- 杂项-验证码
- 验证码
- 验证码配置
- 源码分析
- 杂项-上传
- 验证
- 上传文件的命名
- 命令行工具
- 控制器生成
- 模型生成
- 模块生成
- Session机制
- Session初始化
- 读取Session数据
- 操作session
- 助手函数
- 模板输出
- session驱动
- Cookie机制
- cookie初始化
- cookie操作
- 助手函数
- 模板输出
- 注意:3.2和5.0的区别
- 控制器调用载入视图
- 单字母函数去除
- 常见助手函数
- 获取某个字段的值
- 控制器不区分URL大小写
- 标签语法转换
- 控制器和模型类后缀
- 请求对象和响应对象和常量去除