我在db中有我的角色:
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”加载类“Roles”。 您是否忘记了另一个命名空间的“use”语句?
任何人都可以帮我这个吗?
答案 0 :(得分:5)
您的存储库类名称为AppBundle\Repository\RolesRepository
,因此在您的实体配置中,而不是:
repositoryClass: AppBundle\Repository\Roles
应该是:
repositoryClass: AppBundle\Repository\RolesRepository