2016-07-07 4 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) 
    ; 

문제는 여기에 있습니다 : :

  $orX = $qb->expr()->orX(); 

      $orX->add('aS.name = :house') 
       ->add('aS.name = :flat') 
       ->add('aS.name = :villa') 
       ->add('aS.name = :bungalow') 
      ; 

      $qb->andWhere($orX) 
       ->setParameters(
        array(
         'house' => 'House', 
         'flat' => 'Flat', 
         'villa' => 'Villa', 
         'bungalow' => 'Bungalow' 
        ) 
       ) 
      ; 

내 실체의 갈기 갈기을 제공 : 여기

버그의 핵심이 될하지 않는 것 내 첫 번째 라인이다

/** 
* @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

멋지고 간단합니다. 트렁코탄에게 고마워. 그것을 염두에 두는 것이 중요합니다. –

관련 문제