public function actionViewcharact($id) { @session_start(); $_SESSION['menu'] = 3; $model = new Characteristics(); $model_data = new CharacteristicsData(); if ($model->load(Yii::$app->request->post())) { if ($model->validate()) { if ($model->save()) { return $this->redirect('charact'); } } } if (Yii::$app->request->post('delete_character_data')) { $del_items = Yii::$app->request->post('delete_character_data'); foreach ($del_items as $key => $value) { $character_data = CharacteristicsData::findOne(['id' => $key]); $character_data->delete(); } } if (Yii::$app->request->post('delete_character')) { $del_items = Yii::$app->request->post('delete_character'); foreach ($del_items as $key => $value) { $character = Characteristics::findOne(['id' => $key]); $character->delete(); } return $this->redirect('/tree/admin/charact'); } if (!empty($model_data->load(Yii::$app->request->post()))) { $data = Yii::$app->request->post(); if (!empty($data['CharacteristicsData']['name'])) { foreach ($data['CharacteristicsData']['name'] as $key => $value) { $model_data = new CharacteristicsData(); $model_data->name = $data['CharacteristicsData']['name'][$key]; if (empty($model_data->name)) { continue; } $model_data->parent_id = $data['CharacteristicsData']['parent_id'][$key]; if ($model_data->save()) { $session = Yii::$app->session; $session->setFlash('char_data', '<div class="alert alert-success">Вы успешно добавили данные.</div>'); $idd = Yii::$app->db->getLastInsertID(); $model1 = new ModArendaTree(); $result = $model1->find()->all(); $batchmas = []; foreach ($result as $key => $value) { $batchmas[] = ['character_data_id' => $idd, 'cat_id' => $value->id]; } //Yii :: $app -> db -> createCommand ()-> batchInsert ( 'characteristics_data_for_cats' , [ 'character_data_id' , 'cat_id' ],$batchmas)-> execute (); } } } } if (Yii::$app->request->post()) { $char_id = key(Yii::$app->request->post('CharacteristicsData')['parent_id']); CharacteristicsForCats::deleteAll(['character_id' => $char_id]); if (Yii::$app->request->post('cats')) { foreach (Yii::$app->request->post('cats') as $key3 => $value3) { $char_for_cats = new CharacteristicsForCats(); $char_for_cats->character_id = $char_id; $char_for_cats->cat_id = $key3; $char_for_cats->save(); } } } //получаем список характеристик $characters = $model->find()->where(['id' => $id])->asArray()->all(); foreach ($characters as $key => $value) { $characters_data = new CharacteristicsData(); $characters_list = $characters_data->find()->where(['parent_id' => $value['id']])->asArray()->orderBy(['name' => SORT_ASC])->all(); $characters[$key]['characters_data'] = $characters_list; } //Получаем активные категории $active_cats = CharacteristicsForCats::find()->where(['character_id' => $id])->asArray()->all(); //получаем категории и подкатегории $cats_model = new ModArendaTree(); $cats = $cats_model->view_cat_for_characters($cats_model->get_cat(), 0, $active_cats); return $this->render('view_charact', ['model' => $model, 'data' => $characters, 'characteristics_data' => $model_data, 'tree' => $cats]); }
public function actionViewcharact($id) { @session_start(); $_SESSION['menu'] = 3; $model = new Characteristics(); $model_data = new CharacteristicsData(); if ($model->load(Yii::$app->request->post())) { if ($model->validate()) { if ($model->save()) { return $this->redirect('charact'); } } } if (Yii::$app->request->post('delete_character')) { $del_items = Yii::$app->request->post('delete_character'); foreach ($del_items as $key => $value) { $character = Characteristics::findOne(['id' => $key]); $character->delete(); } return $this->redirect('/tree/admin/charact'); } if (Yii::$app->request->post()) { $char_id = $_GET['id']; CharacteristicsForCats::deleteAll(['character_id' => $char_id]); if (Yii::$app->request->post('cats')) { foreach (Yii::$app->request->post('cats') as $key3 => $value3) { $char_for_cats = new CharacteristicsForCats(); $char_for_cats->character_id = $char_id; $char_for_cats->cat_id = $key3; $char_for_cats->save(); } } } //получаем список характеристик $characters = $model->find()->where(['id' => $id])->asArray()->all(); foreach ($characters as $key => $value) { $characters_data = new CharacteristicsData(); $characters_list = $characters_data->find()->where(['parent_id' => $value['id']])->asArray()->orderBy(['name' => SORT_ASC])->all(); $characters[$key]['characters_data'] = $characters_list; } //Получаем активные категории $active_cats = CharacteristicsForCats::find()->where(['character_id' => $id])->asArray()->all(); //получаем категории и подкатегории $cats_model = new ModArendaTree(); $cats = $cats_model->view_cat_for_characters($cats_model->get_cat(), 0, $active_cats); return $this->render('view_charact', ['model' => $model, 'data' => $characters, 'characteristics_data' => $model_data, 'tree' => $cats]); }