/** * Creates a new Products model. * If creation is successful, the browser will be redirected to the 'view' page. * @return mixed */ public function actionCreate() { $this->validateIsAdmin(); $model = new Products(); if ($model->load(Yii::$app->request->post()) && $model->save()) { return $this->redirect(['view', 'id' => $model->id]); } else { return $this->render('create', ['model' => $model]); } }
protected function parseAndSaveData($reader) { Products::deleteAll(); $report = array('countXml' => 0, 'countDb' => 0, 'notImport' => array()); while ($reader->read()) { if ($reader->nodeType == \XMLReader::ELEMENT && $reader->name == "Row") { //increment count row in xml-file $report['countXml'] = $report['countXml'] + 1; //AR of the product $product = new Products(); while ($reader->read()) { if ($reader->nodeType == \XMLReader::ELEMENT && $reader->name == "MNN") { $product->mnn = $this->parseRowTag($reader); } if ($reader->nodeType == \XMLReader::ELEMENT && $reader->name == "TN") { $product->tn = $this->parseRowTag($reader); } if ($reader->nodeType == \XMLReader::ELEMENT && $reader->name == "Kpr") { $product->kpr = $this->parseRowTag($reader); } if ($reader->nodeType == \XMLReader::ELEMENT && $reader->name == "nShort3") { $product->nshort3 = $this->parseRowTag($reader); } if ($reader->nodeType == \XMLReader::ELEMENT && $reader->name == "NamePr") { $product->namepr = $this->parseRowTag($reader); } if ($reader->nodeType == \XMLReader::ELEMENT && $reader->name == "Country") { $product->country = $this->parseRowTag($reader); } if ($reader->nodeType == \XMLReader::ELEMENT && $reader->name == "Otd") { $product->otd = $this->parseRowTag($reader); } if ($reader->nodeType == \XMLReader::ELEMENT && $reader->name == "OsnLS") { $product->osnls = (int) $this->parseRowTag($reader); } if ($reader->nodeType == \XMLReader::ELEMENT && $reader->name == "Tender") { $product->tender = (int) $this->parseRowTag($reader); } if ($reader->nodeType == \XMLReader::ELEMENT && $reader->name == "Spar") { $product->spar = $this->parseRowTag($reader); } if ($reader->nodeType == \XMLReader::ELEMENT && $reader->name == "GodenDo") { $product->goden_do = $this->parseRowTag($reader); } if ($reader->nodeType == \XMLReader::ELEMENT && $reader->name == "CenOpt") { $product->cenopt = $this->parseRowTag($reader); } if ($reader->nodeType == \XMLReader::ELEMENT && $reader->name == "CenRozn") { $product->cenrozn = $this->parseRowTag($reader); } if ($reader->nodeType == \XMLReader::ELEMENT && $reader->name == "Kol") { $product->kol = $this->parseRowTag($reader); } if ($reader->nodeType == \XMLReader::ELEMENT && $reader->name == "TenderGod") { $product->tendergod = $this->parseRowTag($reader); } if ($reader->nodeType == \XMLReader::ELEMENT && $reader->name == "VIDTOVARA") { $product->vidtovara = $this->parseRowTag($reader); } if ($reader->nodeType == \XMLReader::ELEMENT && $reader->name == "OBNALICHIE") { $product->obnalichie = (int) $this->parseRowTag($reader); } if ($reader->nodeType == \XMLReader::ELEMENT && $reader->name == "KOLOTGR") { $product->kolotgr = $this->parseRowTag($reader); } if ($reader->nodeType == \XMLReader::ELEMENT && $reader->name == "VIDPOST") { $product->vidpost = $this->parseRowTag($reader); } if ($reader->nodeType == \XMLReader::ELEMENT && $reader->name == "KodPart") { $product->kodpart = $this->parseRowTag($reader); break; } } if ($product->save()) { $report['countDb'] = $report['countDb'] + 1; } else { $report['notImport'][] = 'код: ' . $product->kpr . ', тн: ' . $product->tn . ';'; } } } return $report; }