首页 > 代码库 > Yii的Relational Active Record三张表连接查询
Yii的Relational Active Record三张表连接查询
需求如下:
查询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);
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。