有如下三个表

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__中间需要用一个下划线隔开
),
);

  

最新文章

  1. inline(内联)函数
  2. 移动端H5页面的最佳终端适配之Flexible
  3. 【001:转载 ubuntu下: 建立本地SVN服务器】
  4. 【推荐】JAVA基础◆浅谈3DES加密解密
  5. 转载:C# HashSet 用法
  6. 自定义TypeConverter把基础类型转换为复杂类型
  7. NSBundle、UIImageView和UIButton对比、Xcode文档安装路径、Xcode模拟器安装路径
  8. 安装oracle后不能连接问题
  9. ActiveMQ、Stomp、SockJS入门级应用
  10. solr 学习笔记1
  11. 欢迎访问我的独立博客 tracefact.net (2019.1.30)
  12. react-native中的scrollables
  13. [转][访谈] Olivier Grisel谈scikit-learn和机器学习技术的未来
  14. oracle 回收表空间的数据文件大小
  15. vuex的小demo
  16. ubuntu解压和压缩文件
  17. Mongo 用户创建及权限管理
  18. TZOJ 2415 Arctic Network(最小生成树第k小边)
  19. Network - Tips
  20. “网红架构师”解决你的Ceph 运维难题

热门文章

  1. vim快捷键与vi
  2. centos7磁盘在线扩容
  3. linux之sed的使用
  4. delphi with... do和自定义变量重名
  5. android从IIS/asp.net下载apk文件
  6. Elasticsearch 快速入门教程
  7. 利用spring实现服务启动就自动执行某些操作的2种方式
  8. Cisco Packet Tracer
  9. mysql----------mysql5.7如何配置主从数据库
  10. ServletContext详解(转)