固定的5级数组,是个笨方法
public function List()
{
$field = 'id,pid,name,title';
$order = 'weigh desc';
$where['pid'] = '0';
$list = Db::name('table')->field($field)->where($where)->order($order)->select();
$lists = [];
foreach ($list as $key => $value) {
$value['selected'] = '0';
$valuchild = Db::name('table')->field($field)->where('pid', $value['id'])->order($order)->select();
$vchildw = [];
$valuechild = [];
if (!empty($valuchild)) {
foreach ($valuchild as $k => $v) {
$v['selected'] = '0';
$vchild = Db::name('table')->field($field)->where('pid', $v['id'])->order($order)->select();
$vchild1 = [];
$valuechild1 = [];
if (!empty($vchild)) {
foreach ($vchild as $a => $b) {
$b['selected'] = '0';
$bchild = Db::name('table')->field($field)->where('pid', $b['id'])->order($order)->select();
$vchild11 = [];
$valuechild11 = [];
if (!empty($bchild)) {
foreach ($bchild as $a1 => $b1) {
$b1['selected'] = '0';
$b1['child'] = Db::name('table')->field($field)->where('pid', $b1['id'])->order($order)->select();
$childs11 = [];
foreach ($b1['child'] as $a11 => $b11) {
$b11['selected'] = '0';
$childs11[] = $b11;
}
$b1['child'] = $childs11;
$vchild11[] = $b1;
}
array_push($valuechild11, $vchild11);
}
$b['child'] = !empty($valuechild11) ? $valuechild11[0] : [];
$vchild1[] = $b;
}
array_push($valuechild1, $vchild1);
}
$v['child'] = !empty($valuechild1) ? $valuechild1[0] : [];
$vchildw[] = $v;
}
array_push($valuechild, $vchildw);
}
$value['child'] = !empty($valuechild) ? $valuechild[0] : [];
$lists[] = $value;
}
$this->success('Success', $lists);
}