示例#1
0
 /**
  * create tree with custom threads
  * @param $data
  * @return string
  */
 public function buildMultiTree($data)
 {
     $tree_data = Tree::find()->where(['in', '_id', $data])->andWhere(['level' => 0])->all();
     $result = [];
     foreach ($tree_data as $item) {
         $tree = Tree::find()->where(['left_key' => ['$gte' => $item->left_key]])->andWhere(['right_key' => ['$lte' => $item->right_key]])->all();
         $result = array_merge($result, $tree);
     }
     usort($result, [$this, 'leftSort']);
     return $this->generateJsonStr($result);
 }
示例#2
0
 public function actionFactory()
 {
     $request = Yii::$app->request;
     $post = $request->post();
     $count = Tree::find()->where(['parent' => 1])->count() + 1;
     $range = $this->setFactoryRange();
     $name = "Factory {$count}: ({$range[0]}-{$range[1]})";
     $new = new Tree();
     $new->text = $name;
     $new->parent = 1;
     if ($new->save()) {
         $ret = ["name" => $new->text, "id" => $new->id];
     } else {
         $ret = ["error" => " something went wrong"];
     }
     return json_encode($ret);
 }