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 相关文章推荐
判“新”函数:得到今天与明天的秒数
Oct 09 PHP
收集的PHP中与数组相关的函数
Mar 22 PHP
php操作mysqli(示例代码)
Oct 28 PHP
php上传文件中文文件名乱码的解决方法
Nov 01 PHP
php中常量DIRECTORY_SEPARATOR用法深入分析
Nov 14 PHP
php生成html文件方法总结
Dec 01 PHP
php分割合并两个字符串的函数实例
Jun 19 PHP
PHP精确计算功能示例
Nov 29 PHP
PHP字符串逆序排列实现方法小结【strrev函数,二分法,循环法,递归法】
Jan 13 PHP
PHP验证码无法显示的原因及解决办法
Aug 11 PHP
解决php用mysql方式连接数据库出现Deprecated报错问题
Dec 25 PHP
php使用redis的有序集合zset实现延迟队列应用示例
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实现冒泡排序的简单实例
2016/05/26 PHP
php 变量引用与变量销毁机制详细介绍
2016/12/05 PHP
PHP接入支付宝接口失效流程详解
2020/11/10 PHP
手把手教你自己写一个js表单验证框架的方法
2010/09/14 Javascript
通过下拉框的值来确定输入框是否可以为空的代码
2011/10/18 Javascript
JavaScript 学习笔记之变量及其作用域
2015/01/14 Javascript
jQuery层动画定位滑动效果的方法
2015/04/30 Javascript
AngularJS入门(用ng-repeat指令实现循环输出
2016/05/05 Javascript
基于JS实现移动端向左滑动出现删除按钮功能
2017/02/22 Javascript
vue2.0多条件搜索组件使用详解
2020/03/26 Javascript
jQuery实现导航栏头部菜单项点击后变换颜色的方法
2017/07/19 jQuery
jquery无缝图片轮播组件封装
2020/11/25 jQuery
javaScript把其它类型转换为Number类型
2019/10/13 Javascript
react-router-dom 嵌套路由的实现
2020/05/02 Javascript
jQuery 常用特效实例小结【显示与隐藏、淡入淡出、滑动、动画等】
2020/05/19 jQuery
解决Echarts2竖直datazoom滑动后显示数据不全的问题
2020/07/20 Javascript
bootstrap-closable-tab可实现关闭的tab标签页插件
2020/08/09 Javascript
js+h5 canvas实现图片验证码
2020/10/11 Javascript
js实现随机圆与矩形功能
2020/10/29 Javascript
[02:07]TI9显影之尘系列 - Vici Gaming
2019/08/20 DOTA
解决python使用open打开文件中文乱码的问题
2017/12/29 Python
python做量化投资系列之比特币初始配置
2018/01/23 Python
Python实现输入二叉树的先序和中序遍历,再输出后序遍历操作示例
2018/07/27 Python
代码实例讲解python3的编码问题
2019/07/08 Python
使用python 的matplotlib 画轨道实例
2020/01/19 Python
使用python接受tgam的脑波数据实例
2020/04/09 Python
python 实现图像快速替换某种颜色
2020/06/04 Python
python 实现客户端与服务端的通信
2020/12/23 Python
德国前卫设计师时装在线商店:Luxury Loft
2019/11/04 全球购物
创联软件面试题笔试题
2012/10/07 面试题
国际政治学专业推荐信
2014/09/26 职场文书
护士爱岗敬业心得体会
2016/01/25 职场文书
爱岗敬业先进典型事迹材料(2016推荐版)
2016/02/26 职场文书
互联网的下一个风口:新的独角兽将诞生
2019/08/02 职场文书
vue项目两种方式实现竖向表格的思路分析
2021/04/28 Vue.js
Python实现随机生成迷宫并自动寻路
2021/06/13 Python