Tree 参数1使用Symony3和stofDoctrineExtensionsBundle配置带有traits的Gedmo树repository时出错

Tree 参数1使用Symony3和stofDoctrineExtensionsBundle配置带有traits的Gedmo树repository时出错,tree,symfony,doctrine-extensions,stofdoctrineextensions,Tree,Symfony,Doctrine Extensions,Stofdoctrineextensions,我得到一个错误: Type error: Argument 1 passed to AppBundle\Repository\CategoryRepository::__construct() must be an instance of AppBundle\Repository\EntityManager, instance of Doctrine\ORM\EntityManager given, called in C:\_DEV_SF3_\fs3_tree\vendor\doctrin

我得到一个错误:

Type error: Argument 1 passed to AppBundle\Repository\CategoryRepository::__construct()
must be an instance of AppBundle\Repository\EntityManager, 
instance of Doctrine\ORM\EntityManager given, 
called in C:\_DEV_SF3_\fs3_tree\vendor\doctrine\orm\lib\Doctrine\ORM\Repository\DefaultRepositoryFactory.php on line 68
我正在使用:

Symfony v3.0.6;
Doctrine v2.5.4
StofDoctrineExtensionsBundle
为了管理树形结构

为了使用traits配置树存储库,我执行中的操作。我得到了问题开头的错误。 请注意,如果我按照中所述通过扩展抽象存储库来配置树存储库,那么

如何向参数1提供“AppBundle\Repository\EntityManager实例”

我的树存储库

// AppBundle\Repository\CategoryRepository.php
<?php

namespace AppBundle\Repository;

use Gedmo\Tree\Traits\Repository\ORM\NestedTreeRepositoryTrait;
use Doctrine\ORM\EntityRepository;

class CategoryRepository extends EntityRepository
{
    use NestedTreeRepositoryTrait;

    public function __construct(EntityManager $em, ClassMetadata $class)
    {
        parent::__construct($em, $class);

        $this->initializeTreeRepository($em, $class);
    }
}
//AppBundle\Repository\CategoryRepository.php

您的
分类报告
类中缺少条令的
EntityManager
类的
use
语句:

namespace AppBundle\Repository;

use Doctrine\Common\Persistence\Mapping\ClassMetadata;
use Doctrine\ORM\EntityManager;
use Doctrine\ORM\EntityRepository;

class CategoryRepository extends EntityRepository
{
    use NestedTreeRepositoryTrait;

    public function __construct(EntityManager $em, ClassMetadata $class)
    {
        // ...
    }
}

添加了use语句,但仍然存在一个问题-现在我得到了这个错误:
类型错误:传递给AppBundle\Repository\CategoryRepository的参数2::\uu construct()必须是AppBundle\Repository\ClassMetadata的实例,给定的是条令\ORM\Mapping\ClassMetadata的实例,调用C:\\ u DEV\u SF3\ufs3\u tree\vendor\doctrine\orm\lib\doctrine\orm\Repository\DefaultRepositoryFactory.php第68 500行内部服务器错误-FatalThrowableError
接受您的答案并为新错误创建单独的问题,该问题基本相同。您现在仍然缺少
ClassMetadata
类的
use
语句(我在上面更新了我的答案)。谢谢xabbux,没有更多的参数错误-它现在显示不同的错误。其中一个也被描述为
使用条令\ORM\Mapping\ClassMetadata与您的建议一样有效
namespace AppBundle\Repository;

use Doctrine\Common\Persistence\Mapping\ClassMetadata;
use Doctrine\ORM\EntityManager;
use Doctrine\ORM\EntityRepository;

class CategoryRepository extends EntityRepository
{
    use NestedTreeRepositoryTrait;

    public function __construct(EntityManager $em, ClassMetadata $class)
    {
        // ...
    }
}