parent
2079aaef0e
commit
c199a9fd78
2 changed files with 27 additions and 21 deletions
src/Command
|
@ -4,10 +4,12 @@ namespace App\Command;
|
|||
|
||||
use App\Entity\Tweet;
|
||||
use App\Service\TweetFetcher;
|
||||
use Doctrine\ORM\EntityManagerInterface;
|
||||
use Symfony\Component\Console\Command\Command;
|
||||
use Symfony\Component\Console\Input\InputArgument;
|
||||
use Symfony\Component\Console\Input\InputInterface;
|
||||
use Symfony\Component\Console\Input\InputOption;
|
||||
use Symfony\Component\Console\Output\OutputInterface;
|
||||
use Symfony\Component\Console\Style\SymfonyStyle;
|
||||
|
||||
class FetchTweetsCommand extends Command
|
||||
{
|
||||
|
@ -18,17 +20,11 @@ class FetchTweetsCommand extends Command
|
|||
*/
|
||||
private $tweetFetcher;
|
||||
|
||||
/**
|
||||
* @var \Doctrine\ORM\EntityManagerInterface
|
||||
*/
|
||||
private $entityManager;
|
||||
|
||||
public function __construct(TweetFetcher $tweetFetcher, EntityManagerInterface $entityManager)
|
||||
public function __construct(TweetFetcher $tweetFetcher)
|
||||
{
|
||||
parent::__construct();
|
||||
|
||||
$this->tweetFetcher = $tweetFetcher;
|
||||
$this->entityManager = $entityManager;
|
||||
}
|
||||
|
||||
protected function configure()
|
||||
|
@ -40,10 +36,18 @@ class FetchTweetsCommand extends Command
|
|||
|
||||
protected function execute(InputInterface $input, OutputInterface $output)
|
||||
{
|
||||
$this->tweetFetcher->getTweets()->each(function (Tweet $tweet) {
|
||||
$this->entityManager->persist($tweet);
|
||||
});
|
||||
$io = new SymfonyStyle($input, $output);
|
||||
|
||||
$this->entityManager->flush();
|
||||
$io->table(
|
||||
['Tweet', 'Author', 'Created', 'ID'],
|
||||
$this->tweetFetcher->getTweets()->map(function (Tweet $tweet) {
|
||||
return [
|
||||
$tweet->getText(),
|
||||
$tweet->getAuthor(),
|
||||
$tweet->getCreated(),
|
||||
$tweet->getId(),
|
||||
];
|
||||
})->all()
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue