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); }
/** * 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('/'); }