제목에서 알 수 있듯이 내 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;
나는 주제에 기존의 게시물을 탐구하지만, 아무도 그 사건에 도움이되지 않았다. 도움을 청하기 전에 미리 감사드립니다.
빌라를 다음과 같이 수정했습니다 : 빌라,하지만 그건 저 게시물을 쓰는 동안의 실수였습니다. –