setName('mining:tags') ->setDescription('Mine tags data') ; } /** @return TagMiner */ protected function getTagMiner() { return $this->getContainer()->get('muzich.mining.tag.miner'); } /** @return \Doctrine\ORM\EntityManager */ protected function getEntityManager() { return $this->em; } protected function init() { $this->em = $this->getContainer()->get('doctrine')->getEntityManager(); } protected function execute(InputInterface $input, OutputInterface $output) { $this->init(); $tag_miner = $this->getTagMiner(); $user_query_builder = $this->getEntityManager()->createQueryBuilder()->from('MuzichCoreBundle:User', 'user'); $tag_miner->adaptQueryBuilderSelectorsForUser($user_query_builder, 'user'); // $user_query_builder->where en fonction des inputes etc $this->getTagMiner()->mineTagsForUsers($user_query_builder->getQuery()->getResult()); $output->writeln('Terminé !'); } }