/** * @inheritdoc */ protected function execute(InputInterface $input, OutputInterface $output) { $types = $this->getTypes($input->getArgument('type')); $output->writeln(sprintf('Clearing cache for types: <info>%s</info>', implode(', ', $input->getArgument('type')))); foreach ($types as $type) { $builder = $type->getQueryBuilder('x'); if ($input->getOption('where')) { $builder->andWhere($input->getOption('where')); } foreach ($builder->getQuery()->iterate() as list($item)) { $output->writeln(sprintf('Clearing cache for <comment>%s</comment>', $this->itemToString($item))); $this->exporter->clearCache($item, [$type]); $builder->getEntityManager()->detach($item); } } }