thinkphp的多对多关系操作

thinkPHP中1对1,多对1,多对多数据库操作的总结 thinkPHP5中的数据库的关系基本分为:一对一、多对一、多对多这三种一.引例1、一对一关系实例一个老师对应一个id,一个id对应一个老师 2、多对一关系实例 一个班级拥有多个学生,一个学生只能够属于某个班级 3、多对多实例一个学生可以选修多门课程,一个课程可以被多个学生选修二.一对一一对一的关系下,thinkPHP框架可以直接访问数据库中的数据,像下面一样 class TeacherC... 阅读详情

先建立一个模型

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 关联模型多对多关系插入操作详解 当数据库中存在多对多关系时,我们可以使用关联模型来简化数据的插入操作。本文将详细介绍如何在 ThinkPHP 中使用关联模型进行多对多关系的插入操作,并提供相应的源代码示例。通过以上的步骤,我们成功使用 ThinkPHP 关联模型进行多对多关系的插入操作。(角色表),它们之间存在多对多的关系。该方法接受四个参数,分别是关联模型类名、中间表表名、当前模型在中间表中的外键名和关联模型在中间表中的外键名。以一个简单的示例来说明多对多关系的插入操作。接下来,我们可以在控制器中使用这些关联关系进行插入操作。 阅读详情

相关推荐

【车载开发系列】ParaSoft单元测试环境配置(一)

bdf是数据文件的一种类型,表示一种数据库文件。在ParaSoft当中,可以使用bdf文件来快速创建一个测试项目。

千月星跡 2147

ThinkPHP 多对多关联

php// 获取商品的分类// Goods 模型多对多关联 Category 模型// 完整写法。

岛泪的博客 2064

定时器(PWM输出)触发ADC采样(DMA)——STM32CubeMX

已知 Tclk 为 84MHz , 我们需要 Tout 为 200ms 即 200000us , 不妨先让PSC为 839, 带入上述公式可得 ARR = 19999. 这样算出来之后ARR和PSC都在0~65535的范围, 则可以使用这组参数。例如,如果时钟频率为1MHz,并且PSC设置为1000,则实际的定时频率将为1kHz。当重装载值(Period 或 ARR)设置为 500 时,意味着定时器需要计数 500 个时钟周期才会触发中断。例如,如果时钟频率为1MHz,则Tclk为1微秒。

2301_77123899的博客 1万+

Thinkphp6模型关联

ThinkPHP 6 模型关联是指使用 PHP 对象关系映射(ORM)机制,通过模型类的关联属性,在两个或多个数据表之间建立关联关系。提示:以下是本篇文章正文内容,下面案例可供参考related:表示要关联的模型类名;foreignKey:表示关联模型中指向当前模型的外键名,默认值为当前模型的小写名称加上 _id;localKey:表示当前模型中关联的字段,默认值为当前模型的主键 id。

qq_48082548的博客 2504

异次元发卡最新漏洞0day(XSS组合拳)

异次元商店头像上传处存在存储型XSS注入(user、admin均存在)。其中,user处有过滤,admin无。 将恶意脚本插入后,管理员访问用户管理页面即可执行恶意脚本。 恶意脚本执行后,会新增一个管理员用户,进而获得权限。鉴于漏洞还没有泛滥,而且很多站都有漏洞。EXP暂时不公开。需要学习可以加入知识星球

白昼小丑的博客 4592

将pytorch的权值矩阵量化为定点数补码并导入FPGA中

Xilinx FPGA实现LSTM算法时对ROM的初始化 将pytorch框架的权重矩阵以定点数补码的形式导入到FPGA中 文章目录Xilinx FPGA实现LSTM算法时对ROM的初始化1. pytorch框架中的LSTM2. 初始化一个RNN模型 3. 初始化ROM的coe文件格式 4. 将参数转换为补码,并且输出到coe文件 5. 配置一个ROM 6. 结论7. 代码 1. pytorch框架中的LSTM pytorch框架将LSTM算法中的八个权值矩阵连接成两个矩阵,假设要导入的LSTM网络的输

随缘分享 4528

三十八、ThinkPHP_6 多对多关联查询

user:用户表;role:角色表;access:中间表 access 表包含了 user 和 role表 的关联 id,多对多模式 //User 模型中,设置多对多关联 //belongsToMany 为多对多关联, //belongsToMany('关联模型','中间表',['外键','关联键']); public function roles() { return $this->belongsToMany(Role::class,Access::class); } Role.php 和.

汪学友的博客 2008

寒武纪AI芯片业务解析:从云端到边缘,如何布局智能计算未来?

本文深入解析了寒武纪在AI芯片领域的业务布局,重点探讨了其从云端到边缘的智能计算战略。文章分析了寒武纪云端“思元”系列芯片如何作为数据中心的高性能计算基石,以及思元220等边缘芯片如何满足碎片化场景的低功耗实时处理需求。同时,也阐述了其IP授权业务模式与技术生态构建,揭示了寒武纪在激烈市场竞争中,通过软硬件全栈方案布局智能计算未来的核心路径。

weixin_29271053的博客 404

THINKPHP5 第八章(模型中的多对多)

模型中的多对对场景其实很多。常见的大家一定知道权限整个模块其实就是一种多对多的引用场景,举个例子,一个用A可以对应是多种角色(jue se)对吧,A可以是某个模块的管理员,也可以是超级管理吧。首先我们肯定得有一张用户表user,一个角色表role,对应的模型也就分别是User 和Role对吧。我们先定义一个User模型,然后关联Role模型。如下图所示: 多对多的关联请使用belongsTo...

喝咖啡的猫的博客 2035

保姆级教程:彻底清理Win11更新缓存并解除外设,一次搞定0xc1900101更新错误

本文提供了一套完整的Win11更新报错0xc1900101解决方案,涵盖软件环境净化和硬件设备隔离。通过终止干扰进程、重置更新组件、清理临时文件以及断开外设等步骤,有效提升更新成功率。特别强调外设驱动兼容性对解决0xc1900101错误的关键作用。

weixin_33483304的博客 417

【GlobalMapper精品教程】027:路径剖面和和视线工具的使用

路径剖面视线工具允许您使用加载的高程数据集沿用户指定的路径获取垂直剖面。要定义生成3D路径剖面所遵循的路径,只需单击鼠标左键选择路径的点,然后石键单击以结束路径。出现一个带有剖面的对话框,允许您设置视线分析或优化端点。

智慧空间实验室 2049

Thinkphp6知识点九——模型关联(一对多关联)

语法:hasMany('关联模型','当前模型外键','当前模型主键'),例如:hasMany(Comments::class, 'article_id', 'id') <?php namespace app\model; use think\Model; class Article extends Model { public function comments() { /** * hasMany('关联模型', '关联模型外键','当前模型主键'

程序世界 3346

杰理AC695N/AC696N/AC701N系列芯片在线调音教程

本教程详细介绍AC695N/AC696N/AC701N芯片在线音效调试方法,包括工具准备(需安装杰理包管理器)、程序修改(需关闭USB功能并启用在线调试宏)、连接方式(USB或串口)、音效调节步骤(EQ和混响参数调整)以及配置保存。注意事项包括版本匹配、连接检查和供电稳定等,并提供常见问题解决方案。适用于快速配置实时音效调试环境并保存最终配置。

qq_42014563的博客 1406

thinkphp多对多关联

本案例:多个学生对多个课程 student表 classsheet表 middle表,也就是中间表 student模型 <?php namespace app\my\model; use think\Model; class Student extends Model{ public function classsheet(){ return $this-&...

坚持原创 404

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

php模型分页代码,ThinkPHP5&5.1框架关联模型分页操作示例

本文实例讲述了ThinkPHP5&5.1框架关联模型分页操作。分享给大家供大家参考,具体如下:利用数据库的分页通常比较简单,但在实际项目中,我们往往需要处理复杂的数据,例如多表操作,这时候我们就需要利用模型层的关联操作得到最终想要的数据,而这些数据我们其实也是可以利用ThinkPHP5&5.1内置的分页引擎进行分页的。卖的车辆我们称之为车源,车源和车主之间是多对一关系(车主可以有多...

weixin_33241808的博客 328

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

thinkphp5 模型关联操作

        /*          $user = Users::get ( 1 );          //获取第一个用户的所有信息,返回的是一个$user对像          echo $user-&gt;nickname.'&lt;br&gt;';//把字段变成属性访问          print_r($user-&gt;comm); //这是属性不是方法,返回的是USERS模型的C...

yefeng215315434的专栏 1194

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

tp5模型笔记---多对多

关联模型 一对一:HAS_ONE  以及对应的BELONEGS_TO 一对多:HAS_MANY 以及相对的BELONGS_TO 多对多:BELONGS_TO_MANY 步骤: 第一:创建Users模型 第二:创建Comment模型 第三:在Users模型添加方法 第四:在comment模型添加方法 第五:测试 多对多关联表 truncate table tp_shippin...

weixin_33672109的博客 265

ThinkPHP 3.2.3 关联模型的使用

关于关联模型 ThinkPHP 3.2.3 的关联模型(手册地址)一般处理关联数据表的 CURD 操作,例如关联读取、关联写入、关联删除等。 实例 博客管理模块关于博客有 4 张数据表:博客表 crm_blog: CREATE TABLE `crm_blog` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `t...

weixin_30408309的博客 238

thinkphp 多对多关联模型(转)

先建立一个模型   1 2 3 4 5 6 7 8 9 10 11 12 &lt;?php  class UserModel extends RelationModel{      protected $_link=array(        "group"=&gt;array(            "mapping_typ...

weixin_34293911的博客 186

ThinkPHP学习笔记(十八)数据库表的关联操作

RelateAction &lt;?php /** * ThinkPHP中的 * 一对一: * 有:HAS.ONE 属于:BELONGS.TO * 一对多: * 有:HAS.MANY 属于:BELONGS.TO * 多对多: * MANY.TO.MANY * * 如果加入关联需要加入relation方法并将其设为true * 同时Model需要继承Relati...

管子(zero)的杂乱空间 278

thinkphp

//组合查询$d['name']=array("like", "%".$_GET['keyword']."%"); $d['tel']=array("like", "%".$_GET['keyword']."%"); $d['_logic'] = 'or'; $c['_complex'] = $d; ...

aita6163的博客 94

讲解一下ThinkPHP的关联模型

导读:thinkphp关联模型的,我一开始学习的的时候觉得对于一个逻辑业务简单,不太复杂的项目真没必要的去弄什么关联模型的。本质我想说我们再学php的时候不要的为了MVC而MVC,其次通过页面trace可以看出生成的sql语句效率不是太高的。但是如果你做一个cms或者比较复杂的系统的,系统本身表的结构就是很复杂的话,那么使用关联模型可以是整个业务逻辑变得有紧有条的,在这种的情况下我是比较推荐的。

Lankecms 3218

tp5.0笔记5:关联模型

欢迎加入laravel技术交流群 :784030154 前面笔记3说,数据库操作分为三个层次,前两个层次已经在笔记3进行汇总了,现将第三个层次进行了汇总如下 场景1:现有一个用户表,和一个书籍表,用户与书籍的关系是一对多,那么我们就可以利用tp5.0的提供的关联模型,内容如下 <?php namespace app\index\model; use think\Model; cla...

一路向前 3276

php 模型 关联,ThinkPHP的关联模型

ThinkPHP关联模型操作实例分析,需要的朋友可以参考下通常我们所说的关联关系包括下面三种:◇ 一对一关联 : ONE_TO_ONE , 包括 HAS_ONE 和 BELONGS_TO◇ 一对多关联 : ONE_TO_MANY , 包括 HAS_MANY 和 BELONGS_TO◇ 多对多关联 : MANY_TO_MANY关联定义数据表的关联 CURD 操作,目前支持的关联关系包括下面四种:HA...

weixin_27388739的博客 350

php mysql restful,ThinkPHP 5.0.7 + MySQL 构建RESTful API的小程序---02-ThinkPHP5中的orm的模型关联...

ThinkPHP5.0中的操作ORM的一对一,一对多,多对多的操作;由以下表举例:banner表的设计idnamedescriptiondelete_timeupdate_time1首页置顶首页轮播图banner_item表的设计idimg_idkey_wordtypedelete_timebanner_idupdate_time165611222511331111511011image表的设计i...

weixin_33754535的博客 331
上一篇: sublime text3 安装插件
下一篇: thinkphp将数组存到xml文件中
AiHubMax
博客等级 码龄15年 27粉丝 60原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值