'Darjeeling', 'description' => 'I love that tea!', 'sys_language_uid' => 0 ], [ 'title' => 'Earl Grey', 'description' => 'A nice tea!', 'sys_language_uid' => 0 ] ]; protected function configure(): void { $this ->setHelp('Create test data for the tea extension in an already existing page (sysfolder).') ->addArgument( 'pageId', InputArgument::REQUIRED, 'Existing sysfolder page id.' ) ->addOption( 'delete-data-before', 'd', InputOption::VALUE_NONE, 'Delete all tea data in the defined pid before creating new data.' ); } protected function execute(InputInterface $input, OutputInterface $output): int { /** @var integer $pageId */ $pageId = $input->getArgument('pageId') ?? 0; /** @var boolean $deleteDataBefore */ $deleteDataBefore = $input->getOption('delete-data-before') ?? false; $table = 'tx_tea_domain_model_tea'; $connectionForTable = GeneralUtility::makeInstance(ConnectionPool::class)->getConnectionForTable($table); if($deleteDataBefore) { $query = $connectionForTable; $query->delete($table, ['pid' => $pageId], [Connection::PARAM_INT]); $output->writeln(sprintf('Existing data in page %s deleted.',$pageId)); } $query = $connectionForTable; foreach ($this->teaData as $item) { $item = ['pid' => $pageId, ...$item]; $query->insert($table, $item ); } $output->writeln(sprintf('Test data in page %s created.', $pageId)); return Command::SUCCESS; } }