多对多关联模型,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); } }
完成! 最后可以看到数据表里的相关数据的全部输出了!