private function downloadWordsVoice($name, $force) { $params = array(); if ($force) { $sql = "SELECT * FROM words WHERE 1 = 1"; } else { $sql = "SELECT * FROM words WHERE (voice IS NULL or voice = '')"; } if ($name != null) { $sql .= ' AND name = :name'; $params['name'] = $name; } $sql .= " AND voice not like '%/%'"; $handle = $this->db->executeQuery($sql, $params); while ($row = $handle->fetch()) { $entity = new WordsEntity(); $entity->fromArray($row); try { $this->updateWord($entity, $force); } catch (\Exception $e) { $this->output->writeln(sprintf("word [%s] update failed, error info: %s", $entity->getName(), $e->getMessage())); } } }