Doctrine Symfony2-实体和检索信息之间的语义错误关系
我想做些什么Doctrine Symfony2-实体和检索信息之间的语义错误关系,doctrine,symfony,doctrine-orm,entity-relationship,Doctrine,Symfony,Doctrine Orm,Entity Relationship,我想做些什么 $this->getEntityManager() ->createQuery(' SELECT P.* FROM MyNameSpaceProfileBundle:Tutor T JOIN MyNameSpaceProfileBundle:Person Pe JOIN MyNameSpaceMediaBundle:KidContent KC
$this->getEntityManager()
->createQuery(' SELECT P.*
FROM MyNameSpaceProfileBundle:Tutor T
JOIN MyNameSpaceProfileBundle:Person Pe
JOIN MyNameSpaceMediaBundle:KidContent KC
JOIN MyNameSpaceMediaBundle:Post P
WHERE T.id = :id'
)->setParameter('id', $pId);
但我有这样的错误:
[语义错误]第0行,第128列“Pe”附近:错误:标识 变量MyNameSpaceProfileBundle:连接路径表达式中使用的人 但之前没有定义。500内部服务器错误-QueryException 我遵循了symfony2网站上的教程 需要帮忙吗? 再见
我不知道尝试这样做可以让它工作:
$this->getEntityManager() ->createQuery(
'SELECT P
FROM '.$this->_entityName.' P
JOIN P.details KC
JOIN KC.creator T
JOIN T.information Pe
WHERE Pe.id = :id' )->setParameter('id', $pId);
在doctrine1.2中,你会做
T.Person Pe
,在doctrine2中不是一样吗?你的意思是->创建查询('SELECT P.*FROM MyNameSpaceProfileBundle:Tutor T JOIN T.Person Pe JOIN T.KidContent KC JOIN KC.Post P WHERE T.id=:id')->setParameter('id',$pId);?我尝试过:$this->getEntityManager()->createQuery('SELECT P.*FROM'.$this->\u entityName.'P JOIN P.details KC JOIN KC.creator T JOIN T.information Pe WHERE Pe.id=:id')->setParameter('id',$pId);但仍有错误它不能是完全相同的错误,因为错误包含“*”附近第17列第0行“MyNameSpaceProfileBundle:Person”[语义错误]:错误:类MyNamespace\MediaBundle\Entity\Post没有名为*