thinkphp中的多表关联查询的实例详解


Posted in PHP onOctober 12, 2017

thinkphp中的多表关联查询的实例详解

 在进行后端管理系统的编程的时候一般会使用框架来进行页面的快速搭建,我最近使用比较多的就是thinkphp框架,thinkphp框架的应用其实就是把前端和后端进行分割管理,前端用户登录查询系统放在thinkphp中的home文件夹中进行管理,后端管理系统放在thinkphp中的admin文件夹中进行管理。对了,在使用thinkphp框架的时候是是要用到mvc架构的,mvc架构就是model(数据模型)、view(视图)、controller(控制器)的结构,这里界面是由视图来进行控制,控制器的作用就是管理视图和控制器,详细的结构可以查询thinkphp的文档进行学习。

        今天要说的就是在后端管理系统中遇到的数据库表的关联查询应用。

         首先要说的就是在thinkphp中的查询语句的应用,当然这里并不是简单的对一个数据表的查询工作,而是进行多表之间的关联查询,这里面进行数据的关联有两种方法join和table方法 。  

1、首先介绍的是table方法进行多表之间的关联查询

      最前面的M是thinkphp中的M模型,作用就是选择数据库中的数据表,table中选择的是要关联的哪些表,where是进行条件关联,field的作用其实就是一个过滤作用,可以把你想要的或者有用的信息输出出来,这样对表进行关联之后的结果就是剩下自己想要的数据结构了。

public function orderList(){
   $User=M("t_order");
   /*两个表的关联查询得到等级值*/
   $userinfo = $User->table('t_order,t_commodity,t_user')->where('t_order.cname = t_commodity.cname and t_order.uname = t_user.uname ')->field('t_order_id,t_order.orderid,t_order.cname')->select();
   $this->assign("userInfo",$userinfo);
   $this->display("order-list");
}

2、join方法进行多表之间的关联查询

这里面的表的关联的区别就是join使用了on来进行表的关联,剩下的部分其实就是一样,where中是关联的条件,field中是过滤的信息(对接下来有用的信息)

public function getBanner(){
 $bannerid=1;
 $banner=M("banner_item");
 $result=$banner->join('image ON banner_item.img_id = image.id')->where("banner_item.banner_id=".$bannerid)->field("key_word,type,banner_id,url,from")->select();
 echo json_encode($result);
}

如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

PHP 相关文章推荐
在字符串指定位置插入一段字符串的php代码
Feb 16 PHP
PHP foreach循环使用详解与实例代码
May 08 PHP
解析php DOMElement 操作xml 文档的实现代码
May 10 PHP
解析PHP中如何将数组变量写入文件
Jun 06 PHP
php xml常用函数的集合(比较详细)
Jun 06 PHP
preg_match_all使用心得分享
Jan 31 PHP
既简单又安全的PHP验证码 附调用方法
Jun 02 PHP
PHP中Array相关函数简介
Jul 03 PHP
PHP CodeIgniter分页实例及多条件查询解决方案(推荐)
May 20 PHP
php实现的生成迷宫与迷宫寻址算法完整实例
Nov 06 PHP
php-msf源码详解
Dec 25 PHP
php面向对象程序设计中self与static的区别分析
May 21 PHP
laravel 5异常错误:FatalErrorException in Handler.php line 38的解决
Oct 12 #PHP
利用PHP实现开心消消乐的算法示例
Oct 12 #PHP
深入理解PHP中mt_rand()随机数的安全
Oct 12 #PHP
php表单习惯用的正则表达式
Oct 11 #PHP
彻底搞懂PHP 变量结构体
Oct 11 #PHP
利用php + Laravel如何实现部署自动化详解
Oct 11 #PHP
Laravel 5使用Laravel Excel实现Excel/CSV文件导入导出的功能详解
Oct 11 #PHP
You might like
实现树状结构的两种方法
2006/10/09 PHP
ThinkPHP访问不存在的模块跳转到404页面的方法
2014/06/19 PHP
php实现删除指定目录下相关文件的方法
2014/10/20 PHP
PHP文件上传问题汇总(文件大小检测、大文件上传处理)
2015/12/24 PHP
Thinkphp5框架简单实现钩子(Hook)行为的方法示例
2019/09/03 PHP
一段效率很高的for循环语句使用方法
2007/08/13 Javascript
jQuery+CSS 实现的超Sexy下拉菜单
2010/01/17 Javascript
return false,对阻止事件默认动作的一些测试代码
2010/11/17 Javascript
javascript 按键事件(兼容各浏览器)
2013/12/20 Javascript
jQuery实现的网页换肤效果示例
2016/09/20 Javascript
完美解决IE不支持Data.parse()的问题
2016/11/24 Javascript
Javascript中call,apply,bind方法的详解与总结
2016/12/12 Javascript
javascript 中的继承实例详解
2017/05/05 Javascript
如何在微信小程序中实现Mixins方案
2019/06/20 Javascript
vue实现分页加载效果
2019/12/24 Javascript
基于Vue全局组件与局部组件的区别说明
2020/08/11 Javascript
在Django中创建动态视图的教程
2015/07/15 Python
python字典快速保存于读取的方法
2018/03/23 Python
Python切片工具pillow用法示例
2018/03/30 Python
Python读取本地文件并解析网页元素的方法
2018/05/21 Python
python 实现返回一个列表中出现次数最多的元素方法
2019/06/11 Python
Django处理Ajax发送的Get请求代码详解
2019/07/29 Python
用python实现英文字母和相应序数转换的方法
2019/09/18 Python
导入tensorflow:ImportError: libcublas.so.9.0 报错
2020/01/06 Python
Python打开文件、文件读写操作、with方式、文件常用函数实例分析
2020/01/07 Python
Python安装OpenCV的示例代码
2020/03/05 Python
jupyter notebook 添加kernel permission denied的操作
2020/04/21 Python
python初步实现word2vec操作
2020/06/09 Python
在Pytorch中使用Mask R-CNN进行实例分割操作
2020/06/24 Python
前端水印的简单实现代码示例
2020/12/02 HTML / CSS
C#的几个面试问题
2016/05/22 面试题
市场营销毕业生自荐信
2013/11/23 职场文书
村捐赠仪式答谢词
2014/01/21 职场文书
旅游安全责任协议书
2016/03/22 职场文书
Python内置的数据类型及使用方法
2022/04/13 Python
IDEA中sout快捷键无效问题的解决方法
2022/07/23 Java/Android