222222
Menu

thinkphp5、tp5中的多表关联查询[模型方式即model类]

发布时间:2018-08-23 11:49:39作者:热度: 1088 ℃

下载链接在文章结束的位置

关联查询用的非常多,再日常中2张表。3张表、4张表甚至更多张表的关联查询都会出现!

如果我们只在控制器中采用__BIAOMING__ 【join】的方式查询会导致代码非常的长,并且复用率也特别低


所以还是使用model类进行关联查询省代码量,还提高了复用率!

下面就简单以3张表为例向大家示范一下tp5[thinkphp5]中的多表使用[2张表都会用,现省略]


1首先建立model类

我的是建立在common目录下,提供前后台共同使用

2:在主model类中添加关联

    我的主model 是Siagngchuangjian

    代码如下

    

<?php

namespace app\common\model;

use think\Model;

class Sigangchuangjian extends Model
{
    function SigangchuangjianType()
    {
        return $this->hasOne('SigangchuangjianType','id','type_id');
    }

    function OrganisationInformation()
    {
        return $this->hasOne('OrganisationInformation','id','ogid');
    }
}


其他2个model代码如下

<?php

namespace app\common\model;

use think\Model;

class OrganisationInformation extends Model
{

}


<?php

namespace app\common\model;

use think\Model;

class SigangchuangjianType extends Model
{
}


下面是控制器调用的代码:

$res = Sigangchuangjian::with("SigangchuangjianType,OrganisationInformation")->where(["id"=>4])->select();
        for ($i = 0;$i < count($res);$i++){
            p($res[$i]->toArray());
        }
        p($res);

        die;


其实这些方式在文档中都有,只是我们部分人看文档不可能面面俱到!

希望上述对各大网友有所帮助,举一反三、很重要!

本文首发于  micuer.com

转载请注明出处

米醋儿 micuer.com

  1. QQ3群:397053211
  2. QQ2群:524440238
  3. QQ1群:209183654
  4. 一键关注微博

旗下网站以及工具

    米醋儿TV 免费领券网
    程序员在线工具箱
    思琪导购网
    网络骗子曝光平台

友情连接