$pid])->select(); } else { $data = self::whereNull('pid')->select(); } $options = []; if ($data->isEmpty()) { return $options; } foreach ($data as $item) { $temp = [ 'value' => $item->id, 'label' => $item->title ]; $children = self::options($item->id); if (!empty($children)) { $temp['children'] = $children; } $options[] = $temp; } return $options; } }