Mysql Sql转换为orm条令Symfony2
我有这个SQL,正在处理phpmyadminMysql 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
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字段名。