分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 网页技术

Thinkphph 使用RelationModel的三表关联查询机制

发布时间:2023-09-06 01:47责任编辑:熊小新关键词:暂无标签

有如下三个表

a表 b表 c表
id bid other ????id cid other ???id other

a表的bid关联b表的id,b表的cid关联c表的id

现在需要查询a表的时候顺带把b表和c表的相关信息也查询出来

很多人一开始就想到使用原生的sql语句
select * from a left join b on a.bid=b.id left join c on b.cid=c.id;
但这并不是我想要的!

直接给出使用案例

class AModel extends RelationModel{ ???protected $_link = array( ???????‘B‘=>array( ???????‘class_name‘ => ‘B‘, ???????‘mapping_type‘ => self::BELONGS_TO, ???????‘mapping_name‘ => ‘b‘, ???????‘foreign_key‘ => ‘bid‘,//关联id ???), ???//c表要间接关联b表 ???‘C‘ => array( ???????‘class_name‘ => ‘C‘, ???????‘mapping_type‘ => self::MANY_TO_MANY, ???????‘mapping_name‘ => ‘c‘, ???????‘mapping_key‘ => ‘bid‘, // a.bid, a表要关联b表的字段 ???????‘foreign_key‘ => ‘id‘, // c.id ????????‘relation_foreign_key‘ => ‘cid‘, // b.cid b表要关联c表的字段 ???????‘relation_table‘ => ‘__B__‘, //b表,双下划线加大写,会自动转换统一格式的表,如果多个大写例如BFModel,写成__B_F__中间需要用一个下划线隔开 ???),); ???

  

Thinkphph 使用RelationModel的三表关联查询机制

原文地址:https://www.cnblogs.com/chriiess/p/8652540.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved