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,其他不用做

相关推荐
Nerd Nirvana4 分钟前
数据库模型全景:从原理到实践的系统性指南
数据库·oracle·电力行业
SelectDB6 分钟前
从 Greenplum 到 Doris:集群缩减 2/3、年省数百万,度小满构建超大规模数据分析平台经验
数据库·数据分析·apache
alonewolf_9913 分钟前
MySQL索引优化实战二:分页、关联查询与Count优化深度解析
数据库·mysql
TDengine (老段)1 小时前
TDengine Python 连接器进阶指南
大数据·数据库·python·物联网·时序数据库·tdengine·涛思数据
赵渝强老师1 小时前
【赵渝强老师】OceanBase的配置文件与配置项
数据库·oceanbase
玖日大大2 小时前
OceanBase SeekDB:AI 原生数据库的技术革命与实践指南
数据库·人工智能·oceanbase
高溪流3 小时前
3.数据库表的基本操作
数据库·mysql
alonewolf_993 小时前
深入剖析MySQL锁机制与MVCC原理:高并发场景下的数据库核心优化
数据库·mysql
一 乐3 小时前
绿色农产品销售|基于springboot + vue绿色农产品销售系统(源码+数据库+文档)
java·前端·数据库·vue.js·spring boot·后端·宠物
Codeking__3 小时前
Redis初识——什么是Redis
数据库·redis·mybatis