gpt4 book ai didi

symfony - 在 Symfony 命令中运行时,Doctrine load fixtures --no-interaction 标志不起作用

转载 作者:行者123 更新时间:2023-12-04 21:57:26 26 4
gpt4 key购买 nike

在 Symfony 命令中运行时,doctor:fixtures:load 命令上的 --no-interaction 标志不起作用。然而,它正在通过终端工作。我叫得对吗?

当我从一个包中运行它时:

/**
* Loads the fixtures
* @param \Symfony\Component\Console\Output\OutputInterface $oOutput
* @return \Symfony\Component\Console\Output\OutputInterface
*/
protected function loadFixturesCommand($oOutput) {
$oOutput->writeln('<fg=white>Attempting to load fixtures</fg=white>');
$updateCommand = $this->getApplication()->find('doctrine:fixtures:load');

$updateArguments = array(
'command' => 'doctrine:fixtures:load',
'--no-interaction' => true,
);

$updateInput = new ArrayInput($updateArguments);
$updateCommand->run($updateInput, $oOutput);

try {
$updateCommand->run($updateInput, $oOutput);
} catch (ContextErrorException $e) {
//..
}
return $this;
}

我被提示加载灯具

但是运行这个:
php app/console doctrine:fixtures:load --no-interaction

不提示我。

我究竟做错了什么?

最佳答案

我找到了解决方案。
只需调用:

$input->setInteractive(false);

像这样:
protected function loadFixturesCommand($oOutput) {
$oOutput->writeln('<fg=white>Attempting to load fixtures</fg=white>');
$updateCommand = $this->getApplication()->find('doctrine:fixtures:load');

$updateArguments = array(
'command' => 'doctrine:fixtures:load'
);

$updateInput = new ArrayInput($updateArguments);
$updateInput->setInteractive(false);
$updateCommand->run($updateInput, $oOutput);

try {
$updateCommand->run($updateInput, $oOutput);
} catch (ContextErrorException $e) {
//..
}
return $this;
}

关于symfony - 在 Symfony 命令中运行时,Doctrine load fixtures --no-interaction 标志不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23956433/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com