【问题标题】:Attempted to load class "Roles" from namespace AppBundle\Repository尝试从命名空间 AppBundle\Repository 加载类“角色”
【发布时间】:2017-10-11 15:35:33
【问题描述】:

我在数据库中有我的角色:

AppBundle\Entity\Roles:
 type:     entity
 table:     Roles
 repositoryClass: AppBundle\Repository\Roles

用于测试目的的空类:

namespace AppBundle\Repository;
use Doctrine\ORM\EntityRepository;
use AppBundle\Entity\Roles;

class RolesRepository extends \Doctrine\ORM\EntityRepository
{
}

我的控制器中的简单用例:

namespace AppBundle\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use AppBundle\Entity\Roles;
class ClientsController extends CommonController
{
    public function newAction(Request $request)
    {
        // [...]
        $role = $this->getDoctrine()
               ->getRepository('AppBundle:Roles')
               ->findOneBy(array('role'=>'ROLE_CLIENT'));
        // [ ...]
    }
}

当我只在我的 .orm.yml 文件中放入“repositoryClass:\AppBundle\Repository\Roles”时,我得到了错误:

尝试从命名空间“\AppBundle\Repository”加载类“角色”。 您是否忘记了另一个命名空间的“使用”语句?

有人可以帮我吗?

【问题讨论】:

    标签: php symfony doctrine symfony-2.7


    【解决方案1】:

    您的存储库类名称是AppBundle\Repository\RolesRepository,因此在您的实体配置中,而不是:

     repositoryClass: AppBundle\Repository\Roles
    

    应该是:

     repositoryClass: AppBundle\Repository\RolesRepository
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-29
      • 2017-03-23
      • 2021-10-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多