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 相关文章推荐
WHOIS类的修改版
Oct 09 PHP
用php实现的获取网页中的图片并保存到本地的代码
Jan 05 PHP
FirePHP 推荐一款PHP调试工具
Apr 23 PHP
php在项目中寻找代码的坏味道(综艺命名)
Jul 19 PHP
php牛逼的面试题分享
Jan 18 PHP
php面向对象中static静态属性与方法的内存位置分析
Feb 08 PHP
php制作动态随机验证码
Feb 12 PHP
php简单实现查询数据库返回json数据
Apr 16 PHP
PHP提高编程效率的20个要点
Sep 23 PHP
php实现面包屑导航例子分享
Dec 19 PHP
Laravel框架自定义公共函数的引入操作示例
Apr 16 PHP
php实现快速对二维数组某一列进行组装的方法小结
Dec 04 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 出现乱码和Sessions验证问题的解决方法!
2008/12/06 PHP
php中is_null,empty,isset,unset 的区别详细介绍
2013/04/28 PHP
phpnow php探针环境检测代码
2014/11/04 PHP
php字符串过滤与替换小结
2015/01/26 PHP
php结合安卓客户端实现查询交互实例
2015/05/05 PHP
Zend Framework路由器用法实例详解
2016/12/11 PHP
Yii2实现增删改查后留在当前页的方法详解
2017/01/13 PHP
JS处理VBArray的函数使用说明
2008/05/11 Javascript
DOM和XMLHttpRequest对象的属性和方法整理
2012/01/04 Javascript
JavaScript高级程序设计(第3版)学习笔记6 初识js对象
2012/10/11 Javascript
利用Jquery实现可多选的下拉框
2014/02/21 Javascript
jquery xMarquee实现文字水平无缝滚动效果
2014/04/29 Javascript
自己用jQuery写了一个图片的马赛克消失效果
2014/05/04 Javascript
动态载入js提高网页打开速度的方法
2014/07/04 Javascript
javascript实现在下拉列表中显示多级树形菜单的方法
2015/08/12 Javascript
RequireJS入门一之实现第一个例子
2015/09/30 Javascript
基于Vue.js实现tab滑块效果
2017/07/23 Javascript
利用原生的JavaScript实现简单拼图游戏
2018/11/18 Javascript
详解Vue.js 作用域、slot用法(单个slot、具名slot)
2019/10/15 Javascript
Vue实例的对象参数options的几个常用选项详解
2019/11/08 Javascript
微信小程序云开发获取文件夹下所有文件(推荐)
2019/11/14 Javascript
node.js使用mongoose操作数据库实现购物车的增、删、改、查功能示例
2019/12/23 Javascript
Vue组件生命周期运行原理解析
2020/11/25 Vue.js
[46:43]DOTA2上海特级锦标赛D组小组赛#1 EG VS COL第三局
2016/02/28 DOTA
关于Python中Inf与Nan的判断问题详解
2017/02/08 Python
python3的url编码和解码,自定义gbk、utf-8的例子
2019/08/22 Python
提升python处理速度原理及方法实例
2019/12/25 Python
python 解决函数返回return的问题
2020/12/05 Python
乡镇消防工作实施方案
2014/03/27 职场文书
施工协议书范本
2014/04/22 职场文书
我的梦想演讲稿
2014/04/30 职场文书
后勤管理员岗位职责
2014/08/27 职场文书
孩子教育的心得体会
2014/09/01 职场文书
三好学生事迹材料
2014/12/24 职场文书
一篇文章弄懂MySQL查询语句的执行过程
2021/05/07 MySQL
MySQL query_cache_type 参数与使用详解
2021/07/01 MySQL