Ejemplo n.º 1
0
 /**
  * todo неверные данные из api
  */
 public function actionAirlineApi()
 {
     $this->stdout('Request API: Airlines.', Console::FG_GREEN);
     $data = TravelPayoutsApi::getAirlines();
     $_count = count($data);
     $this->stdout(' Get: ' . $_count . ' Airlines.' . PHP_EOL, Console::FG_GREEN);
     Console::startProgress(0, $_count);
     $count = 0;
     $count_ = 0;
     foreach ($data as $value) {
         $value->name = trim($value->name);
         $airlines = ReceivedAirlineApi::find()->where(['iata' => $value->iata])->one();
         if (!$airlines && $value->is_active == 1 && $value->iata) {
             $this->stdout($value->iata . ' ', Console::FG_YELLOW);
             $airlines = new ReceivedAirlineApi();
             $airlines->attributes = (array) $value;
             if (!$airlines->save()) {
                 print_r($value);
                 print_r($airlines->errors);
                 return Controller::EXIT_CODE_ERROR;
             }
             $count++;
         } else {
             Console::updateProgress(++$count_, $_count);
         }
     }
     Console::endProgress();
     $this->stdout(PHP_EOL . 'Added: ' . $count . ' Airlines.' . PHP_EOL, Console::FG_BLUE);
     return Controller::EXIT_CODE_NORMAL;
 }