先建立一个模型
01 | <?php |
02 | class UserModel extends RelationModel{ |
03 | protected $_link=array( |
04 | "group"=>array( |
05 | "mapping_type"=>MANY_TO_MANY, |
06 | "foreign_key"=>"uid",//中间表的字段 |
07 | "relation_foreign_key"=>"gid",//中间表的字段 |
08 | "relation_table"=>"think_user_group" |
09 | ) |
10 | ); |
11 | } |
12 | ?> |
然后创建数据库。
分别创建三张表:think_user think_group think_user_group
user 表里userid、username字段
group 表里groupid、email字段
user_group 表里uid、gid字段
user_group 表里uid、gid字段都作为主键
在model中:
foreign_key 里的uid是与user表里的userid字段关联
relation_foreign_key 里的gid是与group里的groupid字段关联
然后在到控制器里创建
01 | <?php |
02 | // 本类由系统自动生成,仅供测试用途 |
03 | class IndexAction extends Action { |
04 | public function index(){ |
05 | $db=D("user"); |
06 | $list=$db->relation(true)->select(); |
07 | echo "<pre>"; |
08 | print_r($list); |
09 | } |
10 | } |
可以看到你在数据表里的相关数据全部输出了!
本文介绍如何在ThinkPHP框架中实现用户与组之间的多对多关联,并通过具体实例展示了如何建立相应的数据库表结构及在模型中定义关联。
325

被折叠的 条评论
为什么被折叠?



