thinkphp 使用模型实现多表连接查询

解决问题,多张表的查询连接问题,3张表及以上

爷爷表 有字段id

爸爸表 有字段id,grandfather_id

儿子表 id,parent_id

控制器中编写

php 复制代码
public function getdata(){
$data = model('爷爷表')->with(['father.son'])->select();
var_dump($data)
}

模型

爷爷模型

php 复制代码
public function father(){
		return $this->hasmany('爸爸表表名','爸爸表的外键','爷爷表与爸爸表关联的主键');
}

爸爸模型

php 复制代码
public function son(){
		return $this->hasmany('儿子表名','儿子表的外键','爸爸表与儿子表关联的主键');
}

儿子表模型

只需要继承model,其他不用做

相关推荐
lkbhua莱克瓦2414 小时前
进阶-存储对象2-存储过程上
java·开发语言·数据库·sql·mysql
码农胖虎-java14 小时前
【AI】向量数据库选型实战:pgvector vs Milvus vs Qdrant
数据库·milvus·pg
Insist75314 小时前
KingbaseES 集群运维案例之 --- 集群架构拆分为单实例操作
网络·数据库·oracle
m0_5981772314 小时前
MySQL项目开发 (2)
数据库·mysql
lkbhua莱克瓦2415 小时前
进阶-存储对象1-视图
java·数据库·sql·mysql·视图
IvorySQL15 小时前
用 PostgreSQL 实践 Palantir 本体论
数据库·postgresql·开源
yangminlei15 小时前
Spring Boot 自动配置原理与自定义 Starter 开发实战
java·数据库·spring boot
萧曵 丶15 小时前
Redis 由浅到深面试题(分层次版)
数据库·redis·缓存
-XWB-15 小时前
【Oracle】Oracle诊断系列(1/6):健康体检指南——快速掌握数据库状态
数据库·oracle
杨了个杨898215 小时前
Redis常用命令
数据库·redis·缓存