需求如下:
查询book表信息,同时关联entitystags表,以entitystags的字段eid关联book的主键,再关联查询tags表,以entitystags表的tid字段关联tags表的主键id
同时读出这三张表的信息来,在Yii可以如下处理,先在relations方法中声明三张表的关系,在控制器中,以with表明渴求式调用,即可,代码如下:
 
在book的model文件中声明关系:
public function relations(){
return array(
'entitystags'=>array(self::HAS_MANY, 'EntityStag', 'eid', 'alias'=>'estag', 'select'=>'*'),
'tags'=>array(self::HAS_MANY, 'Stag', '' , 'alias'=>'stag' ,'on'=>'estag.tid=stag.id' , 'select'=>'title,id'),
);
}

控制器的调用:

$model=Book::model()->with("entitystags" , "tags")->findByPk($id);

最新文章

  1. TypeScript之面向对象初体验
  2. 开发unity DLL插件
  3. 重载赋值运算符 && 对象
  4. <s:select>中list获取action中数据
  5. wdcp升级php版本到5.3,5.5
  6. js 鼠标事件的抓取代码
  7. unix fopen和fopen_s用法的比较
  8. Java Web开发介绍
  9. 编程策略类note
  10. Vue的组件
  11. Go 语言教程
  12. Spring AOP中 pointcut expression表达式解析
  13. [No0000110]Git9/9-自定义Git
  14. 【汇总】基于.NET平台常用的框架整理
  15. Vue.directive基础,在Vue模块开发中使用
  16. MongoDB资料大全
  17. 管道命令和xargs的区别
  18. 关于使用QTcpSocket的一些总结
  19. C++11新特性之五——可变参数模板
  20. Android系统架构(一)

热门文章

  1. android动画源码合集、动态主题框架、社交app源码等
  2. [国嵌笔记][014][Mini2440安装Linux]
  3. Redis进阶实践之五Redis的高级特性
  4. leak finder
  5. 织梦CMS安装分享插件
  6. vue集成百度UEditor富文本编辑器
  7. log4j配置文件简要记录
  8. 邓_PPT
  9. IOS学习笔记27—使用GDataXML解析XML文档
  10. Sencha Touch vs jQuery Mobile