sql语句查询一级分类下的二级分类以此类推

DMMC01防护设备0101面罩010101防护面具01010101活性炭查出01下的子类0101就是以此类推这样这个是一张表一张表里只有这两个字段这个应该怎么查呀... DM          MC
01          防护设备
0101        面罩
010101      防护面具
01010101    活性炭
查出 01下的 子类 0101 就是以此类推这样 这个是一张表 一张表里只有这两个字段 这个应该怎么查呀
展开
 我来答
儒雅的栋78
2017-12-19
知道答主
回答量:10
采纳率:0%
帮助的人:8162
展开全部

封装一个类:

<?php

namespace App\Models\Admin;

use Illuminate\Database\Eloquent\Model;

class Sort extends Model

{

public $table = 'type';

//允许数据库批量操作

public $guarded = [];

/**

* 格式化数据

* @return 调用对象

*/

public function tree()

{

//获取所有的类

$sorts = Sort::get();

return $this->getTree($sorts,0);

}

/**

* @param [sorts] $[需要被格式化的数据]

* @param pid 当前分类的父类

*/

public function  getTree($sorts,$pid =0)

{

//设置一个空数组

$arr = [];

//遍历出所有的父级分类

foreach ($sorts as $k => $v) {

//判断当前分类是否为顶级类

if($v['pid'] == $pid){

//将子类赋值到顶级类的下方

$v['path'] = $v['name'];

//将值存入一个数组中

$arr[] = $v;

//遍历出所有的二级类

foreach($sorts as $x => $y){

//判断

if($v['id'] == $y['pid']){

$y['path'] ='☆---'. $y['name'];

//将获得二级类存入到数组中

$arr[] = $y;

}

}

}

}

return $arr;

}

}



保谷枫75
2017-04-06 · TA获得超过692个赞
知道小有建树答主
回答量:444
采纳率:100%
帮助的人:212万
展开全部
用 SELECT * FROM 表 where DM LIKE '01%'
追问
这个我用过了,但是后台数据取出来的时候子级分类对应不上上级分类
追答
着中国情况,你最好价格字段 用父级ID区分
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Bella_127e1
2017-04-06 · TA获得超过491个赞
知道答主
回答量:412
采纳率:0%
帮助的人:146万
展开全部
纷飞夹柯以前古缕
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式