/** * Импортирует данные * * @return boolean */ public function import($stock_id) { if ($this->validate()) { // выбираю уже имеющиеся данные $dataArray = StockPrognosisRed::query(['stock_id' => $stock_id])->select('date')->column(); $rows = $this->get('fileRed', $stock_id, $dataArray); if (count($rows['insert']) > 0) { StockPrognosisRed::batchInsert(['stock_id', 'date', 'delta'], $rows['insert']); } if ($this->isReplaceExisting) { foreach ($rows['update'] as $date => $kurs) { (new Query())->createCommand()->update(StockPrognosisRed::TABLE, ['delta' => $kurs], ['date' => $date, 'stock_id' => $stock_id])->execute(); } } // выбираю уже имеющиеся данные $dataArray = StockPrognosisBlue::query(['stock_id' => $stock_id])->select('date')->column(); $rows = $this->get('fileBlue', $stock_id, $dataArray); if (count($rows['insert']) > 0) { StockPrognosisBlue::batchInsert(['stock_id', 'date', 'delta'], $rows['insert']); } if ($this->isReplaceExisting) { foreach ($rows['update'] as $date => $kurs) { (new Query())->createCommand()->update(StockPrognosisBlue::TABLE, ['delta' => $kurs], ['date' => $date, 'stock_id' => $stock_id])->execute(); } } return true; } else { return false; } }