Mysql Sql转换为orm条令Symfony2

Mysql Sql转换为orm条令Symfony2,mysql,sql,symfony,orm,doctrine,Mysql,Sql,Symfony,Orm,Doctrine,我有这个SQL,正在处理phpmyadmin SELECT package.name, geography.name, g2.name, package.id, geography.id, g2.id FROM package left join hotel on package.hotel_id = hotel.id left join geography on hotel.location = geography.id left join geography g2 on

我有这个SQL,正在处理phpmyadmin

SELECT package.name, geography.name, g2.name, package.id, geography.id, 
       g2.id FROM package left join hotel on package.hotel_id = hotel.id 
left join geography on hotel.location = geography.id 
left join geography g2 on geography.parent_id = g2.id
我想在信条Symfony2中转换并尝试一些东西

$query = $this->getEntityManager()->createQueryBuilder('package')
     ->select('package.name','geography.name','package.id','geography.id')
     ->from('FNETJmbBundle:Package', 'package')
         ->leftJoin('FNETJmbBundle:Hotel', 'hotel', 'WITH', 'package.hotel=hotel.id')
     ->leftJoin('FNETJmbBundle:Geography', 'geography',  'WITH', 'hotel.location=geography.id')
     ->leftJoin('FNETJmbBundle:Geography', 'g2',  'WITH', 'geography.parent_id=g2.id')
      ->getQuery()->getResult();
错误:

[语义错误]第0行,第290列“parent_id=g2”附近:错误:类FNET\JmbBundle\Entity\Geography没有名为parent_id的字段或关联

QueryException:[语义错误]第0行,第290列“parent_id=g2”附近:错误:类FNET\JmbBundle\Entity\Geography没有名为parent_id的字段或关联


如果已声明名为“parent_id”的属性,请检入地理实体(创建查询生成器时应使用属性名词,而不是列名词)。

错误与实体相关,因此,如果提供包含映射的代码,则会更容易。我能猜到的是,您应该使用属性名而不是sql字段名。