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 相关文章推荐
function.inc.php超越php
Dec 09 PHP
php方法调用模式与函数调用模式简例
Sep 20 PHP
基于php上传图片重命名的6种解决方法的详细介绍
Apr 28 PHP
php 判断是否是中文/英文/数字示例代码
Sep 30 PHP
ini_set的用法介绍
Jan 07 PHP
php 生成自动创建文件夹并上传文件的示例代码
Mar 07 PHP
php中常见的sql攻击正则表达式汇总
Nov 06 PHP
php图片的二进制转换实现方法
Dec 15 PHP
PHP curl CURLOPT_RETURNTRANSFER参数的作用使用实例
Feb 07 PHP
浅谈PHP检查数组中是否存在某个值 in_array 函数
Jun 13 PHP
PHP基于方差和标准差计算学生成绩的稳定性示例
Jul 04 PHP
thinkphp5.1框架实现格式化mysql时间戳为日期的方式小结
Oct 10 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在获取指定目录下的目录,在获取的目录下面再创建文件,多平台
2011/08/03 PHP
微信公众号开发之获取位置信息php代码
2018/06/13 PHP
基于jQuery的弹出框插件
2012/03/18 Javascript
js实现两点之间画线的方法
2015/05/12 Javascript
Ajax清除浏览器js、css、图片缓存的方法
2015/08/06 Javascript
js实现网页多级级联菜单代码
2015/08/20 Javascript
浅谈toLowerCase和toLocaleLowerCase的区别
2016/08/15 Javascript
js按条件生成随机json:randomjson实现方法
2017/04/07 Javascript
详解vue-cli脚手架build目录中的dev-server.js配置文件
2017/11/24 Javascript
vue 1.0 结合animate.css定义动画效果
2018/07/11 Javascript
深入浅出理解JavaScript高级定时器原理与用法
2018/08/02 Javascript
小程序如何构建骨架屏
2019/05/29 Javascript
JS FormData对象使用方法实例详解
2020/02/12 Javascript
在RedHat系Linux上部署Python的Celery框架的教程
2015/04/07 Python
简介二分查找算法与相关的Python实现示例
2015/08/26 Python
Python操作SQLite数据库的方法详解
2017/06/16 Python
Django实现表单验证
2018/09/08 Python
Python3之不使用第三方变量,实现交换两个变量的值
2019/06/26 Python
django数据模型on_delete, db_constraint的使用详解
2019/12/24 Python
TFRecord格式存储数据与队列读取实例
2020/01/21 Python
Pytest mark使用实例及原理解析
2020/02/22 Python
Python Mock模块原理及使用方法详解
2020/07/07 Python
python中取绝对值简单方法总结
2020/07/24 Python
python爬虫用mongodb的理由
2020/07/28 Python
Python排序函数的使用方法详解
2020/12/11 Python
使用CSS3和Checkbox实现JQuery的一些效果
2015/08/03 HTML / CSS
canvas进阶之如何画出平滑的曲线
2018/10/15 HTML / CSS
财务会计专业求职信范文
2013/12/31 职场文书
好矿嫂事迹材料
2014/01/21 职场文书
《小松树和大松树》教学反思
2014/02/20 职场文书
补充协议书范本
2014/04/23 职场文书
小学生倡议书范文
2014/05/13 职场文书
竞选班干部演讲稿500字
2014/08/20 职场文书
销售2014年度工作总结
2014/12/08 职场文书
小学教代会开幕词
2016/03/04 职场文书
MySQL中存储时间的最佳实践指南
2021/07/01 MySQL