public function actionWorkers()
 {
     $request = Yii::$app->request;
     $post = $request->post();
     $range = $this->parseFactoryRange($post['factoryName']);
     Tree::deleteAll(['parent' => $post['factoryId']]);
     for ($i = 0; $i < $post['count']; $i++) {
         $new = new Tree();
         $new->text = rand($range[0], $range[1]);
         $new->parent = $post['factoryId'];
         $new->save();
         $list[] = $new->text;
     }
     return json_encode($list);
 }
Exemple #2
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);
 }
 public function run()
 {
     // clear our database ------------------------------------------
     DB::table('bears')->delete();
     DB::table('fish')->delete();
     DB::table('picnics')->delete();
     DB::table('trees')->delete();
     DB::table('bears_picnics')->delete();
     // seed our bears table -----------------------
     // we'll create three different bears
     // bear 1 is named Lawly. She is extremely dangerous. Especially when hungry.
     $bearLawly = Bear::create(array('name' => 'Lawly', 'type' => 'Grizzly', 'danger_level' => 8));
     // bear 2 is named Cerms. He has a loud growl but is pretty much harmless.
     $bearCerms = Bear::create(array('name' => 'Cerms', 'type' => 'Black', 'danger_level' => 4));
     // bear 3 is named Adobot. He is a polar bear. He drinks vodka.
     $bearAdobot = Bear::create(array('name' => 'Adobot', 'type' => 'Polar', 'danger_level' => 3));
     $this->command->info('The bears are alive!');
     // seed our fish table ------------------------
     // our fish wont have names... because theyre going to be eaten
     // we will use the variables we used to create the bears to get their id
     Fish::create(array('weight' => 5, 'bear_id' => $bearLawly->id));
     Fish::create(array('weight' => 12, 'bear_id' => $bearCerms->id));
     Fish::create(array('weight' => 4, 'bear_id' => $bearAdobot->id));
     $this->command->info('They are eating fish!');
     // seed our trees table ---------------------
     Tree::create(array('type' => 'Redwood', 'age' => 500, 'bear_id' => $bearLawly->id));
     Tree::create(array('type' => 'Oak', 'age' => 400, 'bear_id' => $bearLawly->id));
     $this->command->info('Climb bears! Be free!');
     // seed our picnics table ---------------------
     // we will create one picnic and apply all bears to this one picnic
     $picnicYellowstone = Picnic::create(array('name' => 'Yellowstone', 'taste_level' => 6));
     $picnicGrandCanyon = Picnic::create(array('name' => 'Grand Canyon', 'taste_level' => 5));
     // link our bears to picnics ---------------------
     // for our purposes we'll just add all bears to both picnics for our many to many relationship
     $bearLawly->picnics()->attach($picnicYellowstone->id);
     $bearLawly->picnics()->attach($picnicGrandCanyon->id);
     $bearCerms->picnics()->attach($picnicYellowstone->id);
     $bearCerms->picnics()->attach($picnicGrandCanyon->id);
     $bearAdobot->picnics()->attach($picnicYellowstone->id);
     $bearAdobot->picnics()->attach($picnicGrandCanyon->id);
     $this->command->info('They are terrorizing picnics!');
 }
 public function actionGenerate()
 {
     $tree = new Tree();
     $tree->generateTree(Yii::$app->request->post('count'), (int) Yii::$app->request->post('id'));
     return $this->redirect('/');
 }