我想在自定义symfony命令中使用ArrayCollection
。
但我的方式是抛出错误
在链配置的命名空间AppBundle \ Entity
中找不到类'Doctrine \ Common \ Collections \ ArrayCollection'
我的命令
<?php
namespace AppBundle\Command;
use Symfony\Bundle\FrameworkBundle\Command\ContainerAwareCommand;
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 Doctrine\Common\Collections\ArrayCollection;
use AppBundle\Entity\Gameworld;
class MyCommand extends ContainerAwareCommand
{
protected function configure()
{
$this
->setName('get:gw')
->setDescription('Populate gameworld')
;
}
protected function execute(InputInterface $input, OutputInterface $output)
{
$em = $this->getContainer()->get('doctrine')->getManager();
$output->writeln('<info>Get current Gameworlds</info>');
$gws = $em->getRepository('AppBundle:Gameworld')->findAll();
$gws = new ArrayCollection($gws);
/* rest of the command */
}
}
我尝试new \Doctrine\Common\Collections\ArrayCollection($gws);
但错误仍然存在。
希望你能提供帮助。
答案 0 :(得分:0)
您可能尝试在Gameworld构造函数(或相关实体构造函数中的某个位置)中创建 ArrayCollection 的实例,但是您没有使用使用Doctrine \ Common \ Collections \ ArrayCollection导入它; < / strong>打电话。尝试检查 AppBundle \ Entity \ Gameworld 类及其相关实体是否存在ArrayCollection,并检查是否在该类中正确导入它。