2011-08-04 10 views
2

엔티티 에서 가져 오는 선택 필드가 있고 ID가 에서 선택되는 테이블을 선택하여 완전히 선택을 사용자 정의하고 싶습니다 (여기에서 선택 값으로 tl.id 대신 t.id을 선택하고 싶습니다).쿼리 빌더는 leftJoin에서 ID를 선택합니다.

return $er->createQueryBuilder('tl') 
    ->addSelect('l') 
    ->addSelect('t') 
    ->leftJoin('tl.lang', 'l') 
    ->leftJoin('tl.type', 't') 
    ->where('l.isDefault = 1') 
    ->orderBy('tl.name', 'ASC'); 

내 테이블로 인해 테이블 ​​t를 가져올 수 없다. tl

를 사용해야한다.

답변

1

귀하의 질의하지 교리 2 QueryBuilder에 정의 된 구문에 따라 : http://www.doctrine-project.org/docs/orm/2.0/en/reference/query-builder.html

귀하의 질의는 Doctrine 1.2에서 작동하지만 Doctrine 2에서는 위의 링크에 정의 된 구문에 따라 귀하의 질의를 작성해야합니다.

예를 들어 ->addSelect('l')은 Doctrine 2에서 더 이상 사용되지 않습니다. ->add('select', 'l')이되었습니다.

+2

-> addSelect ('l')는 -> add ('select', 'l')의 바로 가기입니다. – rgazelot

+0

일부 조건에 따라 선택 필드를 추가하는 방법은 무엇입니까? ? – hardik

1

열에 다른 별칭을 설정할 필요는 없습니다. 그것은 관련된 개체의 칼럼으로 수화됩니다.

관련 문제