Doctrine orm Silex和条令-ORMException:未知实体名称空间别名[半固定]

Doctrine orm Silex和条令-ORMException:未知实体名称空间别名[半固定],doctrine-orm,doctrine,silex,Doctrine Orm,Doctrine,Silex,我正在尝试使用我的应用程序中使用silex构建的条令组件。我能让它工作——几乎可以 我有我的“用户”实体和相应的存储库 当做 $app['em']->getRepository('Foo\Entity\User')->findAll() 但是,在尝试进行自定义查询时,工作正常 $this->getEntityManager() ->createQuery( 'SELECT

我正在尝试使用我的应用程序中使用silex构建的条令组件。我能让它工作——几乎可以

我有我的“用户”实体和相应的存储库

当做

$app['em']->getRepository('Foo\Entity\User')->findAll()
但是,在尝试进行自定义查询时,工作正常

      $this->getEntityManager()
                ->createQuery(
                'SELECT
                    u
                FROM 
                    Foo:User u
                WHERE c.id = :x'
                )
                ->setParameter('x',$in)
                ->getResult();
我得到这个例外

ORMException: Unknown Entity namespace alias 'Foo'
请忽略以下事实:我可以使用
findById()
findBy(array('id'=>$in))
进行选择自定义查询存在问题

      $this->getEntityManager()
                ->createQuery(
                'SELECT
                    u
                FROM 
                    Foo:User u
                WHERE c.id = :x'
                )
                ->setParameter('x',$in)
                ->getResult();
这是我的配置

$app['orm.em.options'] = array(
    'mappings' => array(
        array(
            'type' => 'annotation',
            'namespace' => 'Foo\Entity',     
            'alias' => 'core',
            'path' => '%app.path%/src/Foo/Entity',
            'use_simple_annotation_reader' => false,
        )
));

经过一些研究,可能的解决方案如下:

  • 自动映射:true=>已尝试,未成功
  • 注册namespace=>trued,不确定是否正确,因此可能是解决方案,请建议如何正确操作
  • 除此之外,我还尝试搜索具有类似“用法”的git回购,但没有找到:(
更新

目前,我在查询中使用了下面这一行,它可以正常工作

FROM 
InstaLikes\Entity\User u

我假设您已经检查了映射选项中给定的别名

$app['orm.em.options'] = array(
    'mappings' => array(
        array(
            'type' => 'annotation',
            'namespace' => 'Foo\Entity',     
            'alias' => 'core',
            'path' => '%app.path%/src/Foo/Entity',
            'use_simple_annotation_reader' => false,
        )
));

如果不将别名选项设置为Foo

创建自定义查询时,应使用完全命名空间,在这种情况下:
Foo\Entity\User

thx对于答案,是的,这就是我解决问题的方法,但是我希望使它更像Symfony(Foo:User),因为您的别名是core,您尝试过core:User吗?