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边学边教》(02.Apache+PHP环境配置――上篇)
Dec 13 PHP
深入php define()函数以及defined()函数的用法详解
Jun 05 PHP
关于php内存不够用的快速解决方法
Oct 26 PHP
php的dl函数用法实例
Nov 06 PHP
php中字符查找函数strpos、strrchr与strpbrk用法
Nov 18 PHP
php基于表单密码验证与HTTP验证用法实例
Jan 06 PHP
百万级别知乎用户数据抓取与分析之PHP开发
Sep 28 PHP
Symfony2实现在doctrine中内置数据的方法
Feb 05 PHP
PHP+MySQL统计该库中每个表的记录数并按递减顺序排列的方法
Feb 15 PHP
php版微信自定义回复功能示例
Dec 05 PHP
Laravel5.7框架安装与使用学习笔记图文详解
Apr 02 PHP
php使用redis的几种常见操作方式和用法示例
Feb 20 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
PHP中array_merge和array相加的区别分析
2013/06/17 PHP
ThinkPHP中关联查询实例
2014/12/02 PHP
php返回字符串中所有单词的方法
2015/03/09 PHP
PHP更安全的密码加密机制Bcrypt详解
2017/06/18 PHP
php中访问修饰符的知识点总结
2019/01/27 PHP
php/JS实现的生成随机密码(验证码)功能示例
2019/06/06 PHP
ExtJS 刷新后如何默认选中刷新前最后一次选中的节点
2014/04/03 Javascript
JS实现距离上次刷新已过多少秒示例
2014/05/23 Javascript
JS创建类和对象的两种不同方式
2014/08/08 Javascript
JS实现字符串转日期并比较大小实例分析
2015/12/09 Javascript
jQuery中inArray方法注意事项分析
2016/01/25 Javascript
快速掌握Node.js中setTimeout和setInterval的使用方法
2016/03/21 Javascript
jQuery的Each比JS原生for循环性能慢很多的原因
2016/07/05 Javascript
浅谈Nodejs应用主文件index.js
2016/08/28 NodeJs
JavaScript 隐性类型转换步骤浅析
2018/03/15 Javascript
.vue文件 加scoped 样式不起作用的解决方法
2018/05/28 Javascript
详解使用jest对vue项目进行单元测试
2018/09/07 Javascript
JS闭包原理与应用经典示例
2018/12/20 Javascript
Node.js 的 GC 机制详解
2019/06/03 Javascript
React路由鉴权的实现方法
2019/09/05 Javascript
基于JQuery实现页面定时弹出广告
2020/05/08 jQuery
JSON stringify方法原理及实例解析
2020/10/23 Javascript
python求最大值最小值方法总结
2019/06/25 Python
在django中实现页面倒数几秒后自动跳转的例子
2019/08/16 Python
Python range与enumerate函数区别解析
2020/02/28 Python
Nike爱尔兰官方网站:Nike.com (IE)
2018/03/12 全球购物
周仰杰(JIMMY CHOO)英国官方网站:闻名世界的鞋子品牌
2018/10/28 全球购物
alice McCALL官网:澳大利亚时尚品牌
2020/11/16 全球购物
Solaris操作系统的线程机制
2015/07/28 面试题
安全承诺书格式
2014/05/21 职场文书
开业庆典活动策划方案
2014/09/21 职场文书
2014年法务工作总结
2014/12/11 职场文书
工作经验交流材料
2014/12/30 职场文书
应急管理工作总结2015
2015/05/04 职场文书
2015年班组建设工作总结
2015/05/13 职场文书
2015年小学教师培训工作总结
2015/07/21 职场文书