whereIn('type', ['province', 'city', 'area'])->get()->toArray(); $tree = self::_tree($data, 0); return $tree; } private static function _tree($array, $parentId = 0) { $tree = array(); foreach ($array as $item) { if ($item['parent_id'] == $parentId) { $children = self::_tree($array, $item['id']); if (!empty($children)) { $item['children'] = $children; } $tree[] = $item; } } return $tree; } }