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 actionEditcharacterdata($parent_id, $id) { $characteristics = CharacteristicsData::findOne(['id' => $id]); $characteristics_par = Characteristics::findOne(['id' => $parent_id]); if (Yii::$app->request->post()) { $char_id = $id; CharacteristicsDataForCats::deleteAll(['character_data_id' => $char_id]); if (Yii::$app->request->post('cats')) { foreach (Yii::$app->request->post('cats') as $key3 => $value3) { $char_for_cats_data = new CharacteristicsDataForCats(); $char_for_cats_data->character_data_id = $char_id; $char_for_cats_data->cat_id = $key3; $res = $char_for_cats_data->save(); } if ($res) { $session = Yii::$app->session; $session->setFlash('ch_data_isp', '<div class="alert alert-success">Изменения успешно сохранены.</div>'); } } } if ($characteristics->load(Yii::$app->request->post())) { if ($characteristics->save()) { $session = Yii::$app->session; $session->setFlash('ch_data', '<div class="alert alert-success">Изменения успешно сохранены.</div>'); return $this->redirect(['editcharacterdata', 'parent_id' => $parent_id, 'id' => $id]); } } $charact_data_model = new CharacteristicsData(); $charact_data = $charact_data_model->findOne(['id' => $id]); $charact_data_par = Characteristics::findOne(['id' => $parent_id]); $active_cats = CharacteristicsDataForCats::find()->where(['character_data_id' => $id])->asArray()->all(); $cats_model = new ModArendaTree(); $cats = $cats_model->view_cat_for_characters_data($cats_model->get_cat(), 0, $active_cats); return $this->render('edit_character_data', ['model' => $characteristics, 'tree' => $cats, 'par' => $characteristics_par]); }