편집 Toto 클래스의 OneToMany 관계가 생성되지 않았습니다 (직접 입력해야 함) :교리 생성
/**
* @ORM\OneToMany(targetEntity="Tata", mappedBy="idToto")
*/
private $tatas;
명령 줄에 입력 할 수있는 옵션이 있습니까?
편집 Toto 클래스의 OneToMany 관계가 생성되지 않았습니다 (직접 입력해야 함) :교리 생성
/**
* @ORM\OneToMany(targetEntity="Tata", mappedBy="idToto")
*/
private $tatas;
명령 줄에 입력 할 수있는 옵션이 있습니까?
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
입니다.
왼쪽에 가입 한 것이 진짜 문제가 아니기 때문에 다시 편집했습니다. – Yoot
아, 그래, 이제 양방향 관계가 필요해. – Sgoettschkes
이것은 Doctrine 2의 제한 사항이며 필요한 매핑 정보의 약 70-80 % 만 해결합니다. 이것을 확인하십시오 http://doctrine-orm.readthedocs.org/en/2.0.x/reference/tools.html#convert-mapping-information
당신은 모든 문서를 읽었습니까? 엔티티는 어떻게 생겼습니까? 귀하를 돕기 위해 더 많은 정보가 필요합니다. – Flukey
좀 더 정확히 말하자면, 클래스 간의 관계 이름을 어떻게 알 수 있어야합니다. – greg0ire
더 정확하게 게시물을 편집했습니다. – Yoot