先建立一个模型

1
2
3
4
5
6
7
8
9
10
11
12
<?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"
     )
     );
 }
?>

然后创建数据库。分别创建三张表:think_user   think_group   think_user_group

user 表里userid、username字段

group 表里groupid、email字段

user_group 表里uid、gid字段

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

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

然后在到控制器里创建

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

可以看到你在数据表里的相关数据全部输出了!

thinkphp 多对多关联模型(转)的更多相关文章

  1. thinkphp ,进行关联模型的时候出现的问题,版本是3.2

    看的后盾网络视频,里面操作的是3.1. 我用的是onethink,基于3.2. 在关联模式的操作时.主要是user role  role_user  3个张表 视频中可以操作,但是本地操作出现问题. ...

  2. 多对多关联模型,MANY_TOMANY

    先分别创建三张表:think_user   think_group   think_user_group user 表里有id.name字段 group 表里有id.groupName字段 user_ ...

  3. 实例讲解TP5中关联模型

    https://blog.csdn.net/github_37512301/article/details/75675054 一.关联模型在关系型数据库中,表之间有一对一.一对多.多对多的关系.在 T ...

  4. ThinkPHP - 关联模型 - 多对多

    表结构: 映射关系: UserRelationModel会取UserRelation为表名称.所以要自定义表名称: //定义主表名称protected $tableName = 'User'; < ...

  5. ThinkPHP 3.2.3 关联模型的使用

    关于关联模型 ThinkPHP 3.2.3 的关联模型(手册地址)一般处理关联数据表的 CURD 操作,例如关联读取.关联写入.关联删除等. 实例 博客管理模块关于博客有 4 张数据表:博客表 crm ...

  6. ThinkPHP第十四天(显示TRACE界面配置,关联模型详解定义)

    1.显示TRACE界面,首选需要在显示模版界面,$this->display(),然后需要在配置文件中配置 SHOW_PAGE_TRACE => true 2.关联模型使用 主表以user ...

  7. thinkphp 关联模型配置代码

    <?php /** * 公司与部门关联模型 */ class CompanyRelationModel extends RelationModel{ //主表名称 protected $tabl ...

  8. ThinkPHP第十五天(setField、setInc、setDec、关联模型)

    1.ThinkPHP中的比较特殊连贯操作 如果要更新某个字段可以用setField方法,比如M('user')->where('id=1')->setField('username','T ...

  9. ThinkPHP 关联模型(二十)

    原文:ThinkPHP 关联模型(二十) ThinkPHP关联模型 两表关联查询:Message 和  user  关联条件uid(参考手册:模型->关联模型) 步骤: 一:创建Message表 ...

随机推荐

  1. JAR 文件格式提供了许多优势和功能

    JAR 文件格式提供了许多优势和功能,其中很多是传统的压缩格式如 ZIP 或者 RAR 所没有提供的.它们包括: 安全性 可以对 JAR 文件内容加上数字化签名.这样,能够识别签名的工具就可以有选择地 ...

  2. C# 无法在发送 HTTP 标头之后进行重定向

    在调试中发现错误如下: Response.Redirect引起的“无法在发送HTTP标头之后进行重定向” 跳转失败 解决方案如下: 使用js方法来跳转地址 const string url=" ...

  3. Storm概念、原理详解及其应用(一)BaseStorm

    本文借鉴官文,添加了一些解释和看法,其中有些理解,写的比较粗糙,有问题的地方希望大家指出.写这篇文章,是想把一些官文和资料中基础.重点拿出来,能总结出便于大家理解的话语.与大多数“wordcount” ...

  4. C# Http访问帮助类,支持get post请求文件下载 [

    using System; using System.Collections.Generic; using System.Collections.Specialized; using System.I ...

  5. linux的awk命令解读

    转自:http://blog.csdn.net/guoer9973/article/details/44650729 awk是行处理器: 相比较屏幕处理的优点,在处理庞大文件时不会出现内存溢出或是处理 ...

  6. 有限状态机(FSM)的Java 演示

    本文从简单的样例入手,逐步演变成很复杂的程序. 在简明 状态模式(5.8)中,状态之间的变换由外界控制,或者说.多种状态是切割的.无关的.状态模式最有趣的地方正是讨论其状态的变迁. 1.引子 空调(a ...

  7. vue二级联动select

    <div> <span>所在区域</span> <select name="" v-model="country"&g ...

  8. ASP.NET MVC下Ajax.BeginForm方式无刷新提交表单

    有时候,不得不考虑到以下场景问题: 数据库表字段会频繁更改扩展,而流行的重业务的js框架过于依赖json数据接口,导致的问题是,数据库表更改 -> 数据接口更改 -> 前段框架逻辑更改.. ...

  9. 使用springmvc,jsp,结合网页文本编辑器kindEditor实现基本博客编辑功能

    kindEditor官网:http://kindeditor.net/demo.php 个人实践: 为了在自己的项目中引入一个类似用户写博客的功能,在网上找到了kindeditor,真心又好又易用. ...

  10. IT规划,是否一定要梳理流程

    IT规划,是面向企业业务的 IT战略规划,必然需要考虑业务的运营特点和需求.以往为企业提供IT规划咨询服务时,很多企业都提出,IT规划要满足业务的需求,那就要对业务足够熟 悉,而通过梳理流程能够达到这 ...