2016-07-07 75 views
0

正如標題所示,我遇到了我的DQL請求問題。語法錯誤行0,列349:錯誤:預計字面值,得到'aS'

這裏是我的第一線,這似乎不被錯誤的核心:

$qb = $this 
     ->createQueryBuilder('p') 
     ->leftJoin('p.localisation', 'loc') 
     ->leftJoin('p.advert', 'a') 
     ->leftJoin('a.accommodationStyle', 'aS') 
     ->leftJoin('a.accommodationChoice', 'aC') 
     ->where('loc.lat < :maxLat') 
     ->setParameter('maxLat', $maxLat) 
     ->andWhere('loc.lat > :minLat') 
     ->setParameter('minLat', $minLat) 
     ->andWhere('loc.lng < :maxLng') 
     ->setParameter('maxLng', $maxLng) 
     ->andWhere('loc.lng > :minLng') 
     ->setParameter('minLng', $minLng) 
    ; 

的問題是在這裏:

​​

我提供我的實體的碎片:

廣告包含以下行:

/** 
* @ORM\ManyToOne(targetEntity="MR\PlatformBundle\Entity\AccommodationChoice", inversedBy="adverts", cascade={"persist","remove"}) 
* @ORM\JoinColumn(nullable=true) 
*/ 
private $accommodationChoice; 

/** 
* @ORM\ManyToOne(targetEntity="MR\PlatformBundle\Entity\AccommodationStyle", inversedBy="adverts", cascade={"persist","remove"}) 
* @ORM\JoinColumn(nullable=true) 
*/ 
private $accommodationStyle; 

AccommodationStyle,這一個:

/** 
* @ORM\OneToMany(targetEntity="MR\PlatformBundle\Entity\Advert", mappedBy="accommodationStyle") 
*/ 
private $adverts; 

AccommodationChoice,這一個:

/** 
* @ORM\OneToMany(targetEntity="MR\PlatformBundle\Entity\Advert", mappedBy="accommodationChoice") 
*/ 
private $adverts; 

和人,這另一個:

/** 
* @ORM\OneToOne(targetEntity="MR\PlatformBundle\Entity\Advert", inversedBy="author", cascade={"persist","remove"}) 
* @ORM\JoinColumn(nullable=true) 
*/ 
private $advert; 

我探討關於這個問題的現有職位,但沒有人似乎幫助這種情況下,預先感謝一些幫助(將不勝感激)!

+0

我改正別墅爲:別墅,但那只是我寫這篇文章時的一個錯誤 –

回答

2

您不能使用aS作爲別名,因爲它是保留字(AS)。只需選擇另一個。

+0

精彩,就這麼簡單。謝謝trincot。牢記這一點很重要。 –

相關問題