/** * Creates a new Netints model. * If creation is successful, the browser will be redirected to the 'view' page. * @return mixed */ public function actionCreate($id_dev = 0) { $model = new Netints(); $model->device_id = $id_dev; $model->type = 0; $model->port_count = 1; if ($model->load(Yii::$app->request->post()) && $model->save()) { if ($id_dev == 0) { return $this->redirect(['view', 'id' => $model->id]); } else { return $this->redirect(['devices/view', 'id' => $id_dev]); } } else { return $this->render('create', ['model' => $model]); } }
/** * Автоматически добавляем комплектующие */ public function actionAutocomp() { $models = Devices::findAll(['type_id' => 1]); $arr = [373, 363, 262, 202, 146]; $valid = false; $i = 0; $v = 0; $n = 0; foreach ($models as $model) { if (in_array($model->id, $arr)) { continue; } $count_comp = Devices::find()->where(['parent_device_id' => $model->id])->count(); //echo $model->id . ' ' . $count_comp . '<br>'; if ($count_comp > 0) { continue; } //отсеяли лишние системники, создаем комплектующие $i++; $comp = new Devices(); $comp->type_id = 18; $comp->device_note = 'Блок питания'; $comp->workplace_id = 119; $comp->parent_device_id = $model->id; if ($comp->validate()) { $comp->save(); $valid = true; $v++; } $comp = new Devices(); $comp->type_id = 25; $comp->device_note = 'Материнская плата'; $comp->workplace_id = 119; $comp->parent_device_id = $model->id; if ($comp->validate()) { $v++; if ($comp->save()) { $net = new Netints(); //создаем сетевой интефейс со значениями по умолчанию $net->device_id = $comp->id; if ($net->validate()) { $n++; $net->save(); } } } $comp = new Devices(); $comp->type_id = 28; $comp->device_note = 'Процессор'; $comp->workplace_id = 119; $comp->parent_device_id = $model->id; if ($comp->validate()) { $comp->save(); $v++; } $comp = new Devices(); $comp->type_id = 29; $comp->device_note = 'DDR'; $comp->workplace_id = 119; $comp->parent_device_id = $model->id; if ($comp->validate()) { $comp->save(); $v++; } $comp = new Devices(); $comp->type_id = 30; $comp->device_note = 'SSD'; $comp->workplace_id = 119; $comp->parent_device_id = $model->id; if ($comp->validate()) { $comp->save(); $v++; } $comp = null; } if ($valid) { Yii::$app->session->setFlash('success', 'Обработка прошла успешно! Добавлено ' . $v . ' устройств. ' . $n . ' сетевых интерфейсов для ' . $i . 'устройств'); } return $this->redirect(['index']); }