2011-12-07 2 views
0

편집 Toto 클래스의 OneToMany 관계가 생성되지 않았습니다 (직접 입력해야 함) :교리 생성

/** 
* @ORM\OneToMany(targetEntity="Tata", mappedBy="idToto") 
*/ 
private $tatas; 

명령 줄에 입력 할 수있는 옵션이 있습니까?

+2

당신은 모든 문서를 읽었습니까? 엔티티는 어떻게 생겼습니까? 귀하를 돕기 위해 더 많은 정보가 필요합니다. – Flukey

+0

좀 더 정확히 말하자면, 클래스 간의 관계 이름을 어떻게 알 수 있어야합니다. – greg0ire

+0

더 정확하게 게시물을 편집했습니다. – Yoot

답변

1

leftJoin에서 Tata 클래스에 정의 된 관계 속성의 이름을 사용해야합니다. 두 번째 매개 변수는 명령문에서 사용할 수있는 키만 정의합니다. 당신의 관계가 정확하면, 교리는 자동으로 가입 않습니다

class TataRepository extends EntityRepository{ 
    public function getRelation(){ 
    $qb = $this->createQueryBuilder('tata') 
     ->leftJoin('tata.idtoto', 'toto'); 
    return $qb->getQuery()->getResult(); 
    } 
} 

당신이 외래 키하지만 다른 필드에 가입하지 않으려면, 당신은 일치하지 leftJoin에 thrid 매개 변수를 추가해야합니다, toto.field1 = tata.field2입니다.

+0

왼쪽에 가입 한 것이 진짜 문제가 아니기 때문에 다시 편집했습니다. – Yoot

+0

아, 그래, 이제 양방향 관계가 필요해. – Sgoettschkes