doctrine
  • doctrine2
  • clause
  • on-clause
  • 2011-09-11 3 views 0 likes 
    0

    "절 ON. 그러나 나는 벌레처럼 보이는 문제가 있습니다.교리 2 "알 수없는 열에서"나는 현재 너무 좋아 지금까지. ZF와 교리 (2)를 사용하는 프로젝트를하고 있어요

    I 내 저장소 중 하나에 다음 코드를 작성했습니다 :

    다음 SQL이 생성 된
    $dql = 'SELECT a, s.firstName, s.lastName FROM Model_Application a, Model_Mission m 
         JOIN a.student s WHERE a.mission = m.id AND m.company = :company'; 
    
    $result = $this->getEntityManager()->createQuery($dql) 
                ->setParameter('company', $company) 
                ->getResult(); 
    

    :

    SELECT a0_.coverLetter AS coverLetter0, [... lot of useless things], 
    a0_.student_id AS student_id5, a0_.mission_id AS mission_id6 
    FROM Applications a0_, Missions m2_ INNER JOIN Students s3_ 
    ON a0_.student_id = s3_.id LEFT JOIN Users u1_ ON s3_.id = u1_.id 
    WHERE a0_.mission_id = m2_.id AND m2_.company_id = ? 
    

    그러나, 나는 항상 "ON 절에 알 수없는 열 a0_.student_id"그러나의를 얻을 수 tudent_id 열은 실제로 응용 프로그램 테이블에 있습니다.

    조금 봤는데이 링크 http://www.oscommerce-fr.info/faq/qa_info.php?qID=198 (죄송합니다 프랑스어로 표시됨)은 MySQL 5.0.12 이후 파서가 변경되었으며 여러 FROM 절이있을 때 괄호를 추가해야한다고 말합니다.). 내가 변경하여 SQL 코드를 다시 작성할 경우

    :

    FROM (Applications a0_, Missions m2_) 
    
    그것은 작동

    : 응용 프로그램에서이 임무가

    을 m2_, a0_! 그러나 DQL 코드에 이러한 괄호를 추가하는 방법을 알지 못합니다 (시도했지만 실패했습니다).

    아마도 버그이고 Doctrine 2는 FROM 절이 두 개 이상있을 때마다 괄호를 삽입해야합니까? 아니면 틀 렸습니다.

    답변

    0

    좋아요,이 링크 덕분에 해결 :

    $dql = 'SELECT a, s FROM Model_Application a JOIN a.student s, Model_Mission m 
         WHERE a.mission = m.id AND m.company = :company'; 
    
    : http://www.doctrine-project.org/jira/browse/DDC-1047

    의 핵심은 DQL 순서를 변경하는 것입니다

     관련 문제

    • 관련 문제 없음^_^