今天给大家介绍的是,thinkPHP联表查询案例。这里涉及到两个表,一张是设备表doorcontroller和管理员表weixin。设备表中weixin_id设置为管理表中的外键,其中主表外键字段weixin_id对应从表主键字段id。

image.png

设备表

image.png

管理员表

除此之外,我们在开发的过程中还需要引用RelationModel.class.php文件,该文件位于ThinkPHP\Library\Think\Model\RelationModel.class.php,正式开发如下:

<?php
namespace Admin\Model;
use Think\Model\RelationModel;
class DoorcontrollerModel extends RelationModel{
    protected $_link = array(
        'Weixin'=>array(
            'mapping_type'      => self::HAS_ONE,
                'foreign_key'=>"id",//主表的外键对应的从表主键字段
                'mapping_key'=>'weixin_id',//主表设置的外键
                'as_fields' => 'nickname',
                ),

        );
}

这样die(var_dump($arr))的结果就会在原来数据的基础上加上一个nickname字段,这便实现了主从表关联查询了,通过只查询doorcontroller表同时也查询了它的从表weixin管理员的昵称。