多对多关联模型,MANY_TOMANY

先分别创建三张表:think_user   think_group   think_user_group

user 表里有id、name字段

group 表里有id、groupName字段

user_group 表里有uid、gid字段

user_group 表里的uid、gid字段都作为主键

 

 

然后建立一个Model

<?php
 class UserModel extends RelationModel{
     protected $_link=array(
       "group"=>array(
           "mapping_type"=>MANY_TO_MANY,
           "foreign_key"=>"uid",                 //中间表的字段
           "relation_foreign_key"=>"gid",        //中间表的字段
           "relation_table"=>"think_user_group"  //表名必须为全称(包括表前缀),即使是在配置文件中配置过了表前缀,这里也要加上!
       )
     );
 }
?>

在Model中:

foreign_key 的uid是与user表里的id字段关联

relation_foreign_key的gid是与group里的id字段关联

 

 

接着建立一个Action

<?php
// 本类由系统自动生成,仅供测试用途
class IndexAction extends Action {
    public function index(){
        $db=D("user");
        $list=$db->relation(true)->select();
        echo "<pre>";
        print_r($list);
    }
}

 

完成! 最后可以看到数据表里的相关数据的全部输出了!

posted @ 2016-04-03 20:53  哟风  Views(154)  Comments(0Edit  收藏  举报