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

相关推荐
woshilys18 分钟前
sql server 查询对象的修改时间
运维·数据库·sqlserver
Hacker_LaoYi19 分钟前
SQL注入的那些面试题总结
数据库·sql
建投数据1 小时前
建投数据与腾讯云数据库TDSQL完成产品兼容性互认证
数据库·腾讯云
Hacker_LaoYi2 小时前
【渗透技术总结】SQL手工注入总结
数据库·sql
岁月变迁呀2 小时前
Redis梳理
数据库·redis·缓存
独行soc2 小时前
#渗透测试#漏洞挖掘#红蓝攻防#护网#sql注入介绍06-基于子查询的SQL注入(Subquery-Based SQL Injection)
数据库·sql·安全·web安全·漏洞挖掘·hw
你的微笑,乱了夏天3 小时前
linux centos 7 安装 mongodb7
数据库·mongodb
工业甲酰苯胺3 小时前
分布式系统架构:服务容错
数据库·架构
独行soc4 小时前
#渗透测试#漏洞挖掘#红蓝攻防#护网#sql注入介绍08-基于时间延迟的SQL注入(Time-Based SQL Injection)
数据库·sql·安全·渗透测试·漏洞挖掘
White_Mountain4 小时前
在Ubuntu中配置mysql,并允许外部访问数据库
数据库·mysql·ubuntu