addOptions(array( new sfCommandOption('env', null, sfCommandOption::PARAMETER_REQUIRED, 'The environment', 'prod'), )); $this->namespace = 'import'; $this->name = 'import1'; $this->briefDescription = 'Jednorázový import pracovníků FEI z CSV'; } protected function execute($arguments = array(), $options = array()) { $configHandler = new sfDatabaseConfigHandler(); $databases = $configHandler->evaluate(array($this->configuration->getRootDir().'/config/databases.yml')); $lines = file($this->configuration->getRootDir().DIRECTORY_SEPARATOR.'data'.DIRECTORY_SEPARATOR.'import'.DIRECTORY_SEPARATOR.'FEI_pracovnici_100105.csv'); unset($lines[0]); $counter = array('exist' => 0, 'new' => 0); foreach($lines AS $line) { $row = explode(';', $line); //var_dump($row); // check $pracovnikQ = Doctrine::getTable('Pracovnik') ->createQuery() ->where('zakaznik_id = 6') ->andWhere('prijmeni = ?', trim($row[1])) ->andWhere('jmeno = ?', trim($row[2])) ->execute(); if (count($pracovnikQ)) { $pracovnik = $pracovnikQ[0]; $pracovnik->pozice = trim($row[3]); $pracovnik->osobni_cislo = trim($row[0]); $pracovnik->nakladove_stredisko = trim($row[6]); $pracovnik->oddeleni = trim($row[4]); $pracovnik->nadrizeny = trim($row[5]); ++$counter['exist']; } else { $pracovnik = new Pracovnik(); $pracovnik->zakaznik_id = 6; $pracovnik->jmeno = trim($row[2]); $pracovnik->prijmeni = trim($row[1]); $pracovnik->pozice = trim($row[3]); $pracovnik->osobni_cislo = trim($row[0]); $pracovnik->nakladove_stredisko = trim($row[6]); $pracovnik->oddeleni = trim($row[4]); $pracovnik->nadrizeny = trim($row[5]); ++$counter['new']; } $pracovnik->save(); } var_dump($counter); } }