【发布时间】:2014-11-29 03:21:05
【问题描述】:
我需要从控制器调用控制台命令来生成新实体。这是我到目前为止的代码:
use Symfony\Component\Console\Input\ArgvInput;
use Symfony\Component\Console\Output\ConsoleOutput;
use Symfony\Component\Console\Application;
public function newAction()
{
$kernel = $this->container->get('kernel');
$kernel->shutdown();
$kernel->boot();
$app = new Application($kernel);
$app->setAutoExit(false);
$input = new \Symfony\Component\Console\Input\ArrayInput(array('command' =>
'doctrine:generate:entities', 'name' => 'AdminBundle','-- o-backup' => 'true'));
$app->doRun($input, new \Symfony\Component\Console\Output\ConsoleOutput());
}
但这是我得到的错误:
“doctrine:generate”命名空间中没有定义命令。
希望有人能帮我解决这个错误。
【问题讨论】:
-
我不知道你为什么要在这里使用内核。调用命令很简单,stackoverflow.com/questions/10497567/…
-
我正在开发一个允许用户定义自己的数据模式的项目。因此,我创建了第一步,用户可以通过定义字段和数据类型来实际创建新表。问题是如何允许用户在新表中插入和修改数据。出于这个原因,我想根据来自控制器的新表生成实体。
标签: symfony controller command entity