• 企业400电话
  • 网络优化推广
  • AI电话机器人
  • 呼叫中心
  • 全 部 栏 目

    网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    thinkphp中的多表关联查询的实例详解
    POST TIME:2021-10-18 05:22

    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);
    }
    

    如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

    您可能感兴趣的文章:
    • thinkphp学习笔记之多表查询
    • thinkphp中多表查询中防止数据重复的sql语句(必看)
    • thinkphp多表查询两表有重复相同字段的完美解决方法
    • thinkPHP多表查询及分页功能实现方法示例
    • ThinkPHP多表联合查询的常用方法
    • thinkphp实现like模糊查询实例
    • ThinkPHP查询语句与关联查询用法实例
    • ThinkPHP视图查询详解
    • ThinkPHP中的常用查询语言汇总
    • thinkPHP框架实现多表查询的方法
    上一篇:laravel 5异常错误:FatalErrorException in Handler.php line 38的解决
    下一篇:如何直接访问php实例对象中的private属性详解
  • 相关文章
  • 

    关于我们 | 付款方式 | 荣誉资质 | 业务提交 | 代理合作


    © 2016-2020 巨人网络通讯

    时间:9:00-21:00 (节假日不休)

    地址:江苏信息产业基地11号楼四层

    《增值电信业务经营许可证》 苏B2-20120278

    X

    截屏,微信识别二维码

    微信号:veteran88

    (点击微信号复制,添加好友)

     打开微信