/** * Creates a new Category model. * If creation is successful, the browser will be redirected to the 'view' page. * @return mixed */ public function actionCreate() { $model = new Category(); $parentList = Category::getParentListArray(); $viewArray = Category::getPageViewArray(); $positionArray = Category::getCategoryPositionArray(); $statusArray = Category::getCategoryStatusArray(); if ($model->load(Yii::$app->request->post()) && $model->save()) { return $this->redirect(['view', 'id' => $model->id]); } else { return $this->render('create', ['model' => $model, 'parentList' => $parentList, 'viewArray' => $viewArray, 'positionArray' => $positionArray, 'statusArray' => $statusArray]); } }
public static function getParentListArray($parent_id = null, $level = 0) { if (empty($parent_id)) { $parent_id = null; } $categories = Category::find()->where(['parent_id' => $parent_id])->all(); $list = array(); foreach ($categories as $category) { $category->title = str_repeat(' - ', $level) . $category->title; $list[$category->id] = $category->title; $list = ArrayHelper::merge($list, Category::getParentListArray($category->id, $level + 1)); } return $list; }