先分别创建三张表:think_user think_group think_user_group
user 表里有id、name字段
group 表里有id、groupName字段
user_group 表里有uid、gid字段
user_group 表里的uid、gid字段都作为主键
然后建立一个Model
1 <?php 2 class UserModel extends RelationModel{ 3 protected $_link=array( 4 "group"=>array( 5 "mapping_type"=>MANY_TO_MANY, 6 "foreign_key"=>"uid", //中间表的字段 7 "relation_foreign_key"=>"gid", //中间表的字段 8 "relation_table"=>"think_user_group" //表名必须为全称(包括表前缀),即使是在配置文件中配置过了表前缀,这里也要加上! 9 ) 10 ); 11 } 12 ?>
在Model中:
foreign_key 的uid是与user表里的id字段关联
relation_foreign_key的gid是与group里的id字段关联
接着建立一个Action
1 <?php 2 // 本类由系统自动生成,仅供测试用途 3 class IndexAction extends Action { 4 public function index(){ 5 $db=D("user"); 6 $list=$db->relation(true)->select(); 7 echo "<pre>"; 8 print_r($list); 9 } 10 }
完成! 最后可以看到数据表里的相关数据的全部输出了!