我正在尝试使用创建一个Doctrine实体:
php app/console doctrine:generate:entity --entity="AWStudio:Category" --fields="name:string(255)" --no-interaction
但我不能,这返回:
[InvalidArgumentException]捆绑软件“ AWStudio”不存在或未启用。也许您忘记了将其添加到AppKernel.php文件的registerBundles()方法中?
有我的APPKernel.php
<?php
use Symfony\Component\HttpKernel\Kernel;
use Symfony\Component\Config\Loader\LoaderInterface;
class AppKernel extends Kernel
{
public function __construct($environment, $debug)
{
date_default_timezone_set('Europe/Paris');
parent::__construct($environment, $debug);
}
public function registerBundles()
{
$bundles = array(
new Symfony\Bundle\FrameworkBundle\FrameworkBundle(),
new Symfony\Bundle\SecurityBundle\SecurityBundle(),
new Symfony\Bundle\TwigBundle\TwigBundle(),
new Symfony\Bundle\MonologBundle\MonologBundle(),
new Symfony\Bundle\SwiftmailerBundle\SwiftmailerBundle(),
new Symfony\Bundle\AsseticBundle\AsseticBundle(),
new Doctrine\Bundle\DoctrineBundle\DoctrineBundle(),
new Sensio\Bundle\FrameworkExtraBundle\SensioFrameworkExtraBundle(),
new AWStudio\AWCoreBundle\AWCoreBundle(),
new \FOS\UserBundle\FOSUserBundle(),
new \AWStudio\AWUserBundle\AWUserBundle(),
new AWStudio\CKSBundle\AWStudioCKSBundle(),
new JMS\AopBundle\JMSAopBundle(),
new Knp\Bundle\PaginatorBundle\KnpPaginatorBundle(),
new JMS\SecurityExtraBundle\JMSSecurityExtraBundle(),
new FOS\JsRoutingBundle\FOSJsRoutingBundle,
new JMS\SerializerBundle\JMSSerializerBundle(),
new Liuggio\ExcelBundle\LiuggioExcelBundle(),
new JMS\TwigJsBundle\JMSTwigJsBundle(),
new RaulFraile\Bundle\LadybugBundle\RaulFraileLadybugBundle(),
new JMS\DiExtraBundle\JMSDiExtraBundle($this),
new Stof\DoctrineExtensionsBundle\StofDoctrineExtensionsBundle(),
new \Doctrine\Bundle\MigrationsBundle\DoctrineMigrationsBundle(),
new \Fresh\Bundle\DoctrineEnumBundle\FreshDoctrineEnumBundle(),
new Corley\MaintenanceBundle\CorleyMaintenanceBundle(),
new Sonata\CoreBundle\SonataCoreBundle(),
new Sonata\BlockBundle\SonataBlockBundle(),
new Knp\Bundle\MenuBundle\KnpMenuBundle(),
new Sonata\DoctrineORMAdminBundle\SonataDoctrineORMAdminBundle(),
new Sonata\AdminBundle\SonataAdminBundle()
);
if (in_array($this->getEnvironment(), array('dev', 'test'))) {
$bundles[] = new Symfony\Bundle\WebProfilerBundle\WebProfilerBundle();
$bundles[] = new Sensio\Bundle\DistributionBundle\SensioDistributionBundle();
$bundles[] = new Sensio\Bundle\GeneratorBundle\SensioGeneratorBundle();
}
return $bundles;
}
public function registerContainerConfiguration(LoaderInterface $loader)
{
$loader->load(__DIR__ . '/config/config_' . $this->getEnvironment() . '.yml');
}
}
谢谢 ! :)
最佳答案
您需要为命令指定捆绑软件的完整名称。 AWStudio
实际上是您的供应商名称。
我可以看到您在AWStudio
供应商中有三个捆绑软件:AWCoreBundle
,AWUserBundle
和CKSBundle
。
假设您要在AWCoreBundle
中添加您的实体,这是命令:
php app/console doctrine:generate:entity --entity="AWStudioAWUserBundle:Category" --fields="name:string(255)" --no-interaction
注意AWStudio之后的AWUserBundle捆绑包名称。