分级获取数据,跨级获取数据

本文介绍如何根据市的code码,利用PHP和MySQL获取该市所有区县下的公司及其设备信息。通过获取区县code,然后使用关联预载入和嵌套查询实现数据筛选。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原始数据结构:市区>区县>公司>设备
需求:给定市的code码,只要该市的所有公司信息及公司设备信息。

开干!!!
在这里插入图片描述

基本思路:
1.给定市的code码,获取该市下面的所有区/县,存入数组(areaCode)。
2.公司和设备信息通过关联预载入一起加载,再使用嵌套查询IN,判断是否在以上的数组中。

第一步:获取市下面的区县code;

public static function getOrganiseAndVehicleByCity($code){
        $areaCode = self::where('parent_code',$code)->column('code');
        
    }

第二步:关联预载入

class OrganiseModel extends BaseModel
{   
    public  function equipment()
    {
        return $this->hasMany('EquipmentModel','XXXX','XXXX');
    }
}

第三步:嵌套查询

 public static function getOrganiseAndVehicleByCity($code){
        $areaCode = self::where('parent_code',$code)->column('code');
        $info = OrganiseModel::with(['equipment'])->where('region_code','IN',$areaCode)->select();
        return $info;
    }

就可以啦!

如果有更好的方法,还请各位大神,指点指点。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值