먼저 불량 언어로 불편을 끼쳐 드려 죄송합니다.SQL to QueryBuilder
SELECT DISTINCT U.id
FROM User U
INNER JOIN Detail DE on U.id = DE.id_user
INNER JOIN matiere MA on U.id = MA.id_user
WHERE DE.ville = $var1
AND MA.matiere = $var2
쿼리 빌더 :
나는 (그것을 운영의)이 SQL로 변환하려고합니다. 나는이 시도가 :
$query = $repository->createQuerybuilder('U.id')
->from('User', 'U')
->innerJoin('Detail', 'DE', 'WITH', ' U.id = DE.id_user')
->innerJoin('matiere', 'MA', 'WITH', 'U.id = MA.id_user')
->where('DE.ville = :ville')
->setParameter('ville', $ville)
->andWhere('MA.matiere = :matiere')
->setParameter('matiere', $matiere)
->distinct();
을하지만 난이 오류가 있습니다 "[구문 오류] 라인 0, COL 49 : 오류 : '.'문자열의 예상 끝 있어요 "
을 그리고 나는이하려고하면
$query = $repository->createQueryBuilder()
->select('U.id')
->from('User', 'U')
->innerJoin('Detail', 'DE', 'WITH', ' U.id = DE.id_user')
->innerJoin('matiere', 'MA', 'WITH', 'U.id = MA.id_user')
->where('DE.ville = :ville')
->setParameter('ville', $ville)
->andWhere('MA.matiere = :matiere')
->setParameter('matiere', $matiere)
->distinct();
내가 가진이 오류 : 나는 교리와 symfony3 작업
Warning: Missing argument 1 for Doctrine\ORM\EntityRepository::createQueryBuilder(),
합니다.
도움 주셔서 감사합니다.
이 오류는 동일 I 삭제 '(U.id를) 선택'을 시도했다 및 put 'createQuerybuilder ('U.id ');' 및 동일한 오류 ('[구문 오류] 줄 0, 열 49 : 오류 : 문자열의 예상 끝'. ''있어) 어디서 문제인지 이해할 수 없습니다 ... – jomalix
디버그를 했습니까? 변수에서 SQL 쿼리가 어떻게 발생하는지 알고 있어야합니다. SQL 쿼리를 실행할 때 구문 오류가 발생하는 것으로 보입니다. [예상되는 문자열의 끝이 있습니다.''], 어휘 분석기 인 것 같습니다 문자열을 닫고 올바르게 실행하거나 문자 점 []이있는 문자를 기다리는 중입니다. ] SQL 문자열에서 순서가 잘못되어 올바르게 실행되지 않고 오류가 발생합니다. –