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 mssql 日期出现中文字符的解决方法
Mar 10 PHP
php上传文件的增强函数
Jul 21 PHP
PHP数组对比函数,存在交集则返回真,否则返回假
Feb 03 PHP
超小PHP小马小结(方便查找后门的朋友)
May 05 PHP
php中将指针移动到数据集初始位置的实现代码[mysql_data_seek]
Nov 01 PHP
php使用Cookie控制访问授权的方法
Jan 21 PHP
PHP实现支持SSL连接的SMTP邮件发送类
Mar 05 PHP
php比较相似字符串的方法
Jun 05 PHP
PHP flush 函数使用注意事项
Aug 26 PHP
PHP调用接口API封装的例子
Oct 11 PHP
基于PHP+Mysql简单实现了图书购物车系统的实例详解
Aug 06 PHP
PHP 实现base64编码文件上传出现问题详解
Sep 01 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
WordPress中访客登陆实现邮件提醒的PHP脚本实例分享
2015/12/14 PHP
基于yaf框架和uploadify插件,做的一个导入excel文件,查看并保存数据的功能
2017/01/24 PHP
php传值和传引用的区别点总结
2019/11/19 PHP
PHP 对象接口简单实现方法示例
2020/04/13 PHP
JavaScript将当前时间转换成UTC标准时间的方法
2015/04/06 Javascript
javascript实现类似于新浪微博搜索框弹出效果的方法
2015/07/27 Javascript
js学习阶段总结(必看篇)
2016/06/16 Javascript
微信小程序 Record API详解及实例代码
2016/09/30 Javascript
深入理解JS中的Function.prototype.bind()方法
2016/10/11 Javascript
利用n 升级工具升级Node.js版本及在mac环境下的坑
2017/02/15 Javascript
angularjs实现简单的购物车功能
2017/09/21 Javascript
vue路由嵌套的SPA实现步骤
2017/11/06 Javascript
vue-image-crop基于Vue的移动端图片裁剪组件示例
2018/08/28 Javascript
JS实现点击拉拽轮播图pc端移动端适配
2018/09/05 Javascript
JS使用Dijkstra算法求解最短路径
2019/01/17 Javascript
说说如何使用Vuex进行状态管理(小结)
2019/04/14 Javascript
怎样使你的 JavaScript 代码简单易读(推荐)
2019/04/16 Javascript
在VUE style中使用data中的变量的方法
2020/06/19 Javascript
python连接MySQL、MongoDB、Redis、memcache等数据库的方法
2013/11/15 Python
Python socket实现简单聊天室
2018/04/01 Python
Python实现八皇后问题示例代码
2018/12/09 Python
对Python使用mfcc的两种方式详解
2019/01/09 Python
实例讲解Python3中abs()函数
2019/02/19 Python
在CentOS7下安装Python3教程解析
2020/07/09 Python
Python如何执行精确的浮点数运算
2020/07/31 Python
在css3中background-clip属性与background-origin属性的用法介绍
2012/11/13 HTML / CSS
关键字throw与throws的用法差异
2016/11/22 面试题
高中毕业自我鉴定
2013/12/19 职场文书
经典而简洁的婚礼主持词
2014/03/13 职场文书
《青蛙看海》教学反思
2014/04/23 职场文书
违反单位工作制度检讨书
2014/10/25 职场文书
员工工作能力评语
2014/12/31 职场文书
捐书活动倡议书
2015/04/27 职场文书
2019年共青团工作条例最新版
2019/11/12 职场文书
代码解析React中setState同步和异步问题
2021/06/03 Javascript
CSS中理解层叠性及权重如何分配
2022/12/24 HTML / CSS