1
ClassB
에 ManyToOne 관계 (지금까지는 단순)가 매핑 된 ClassA
이 있습니다.Doctrine 2 외래 키와 같은 기본 키
class ClassA{
/**
* @var string
* @ORM\Id
* @ORM\Column(name="keyA", type="string", length=255)
*/
private $keyA;
/**
* @var ClassB $classB
* @ORM\ManyToOne(targetEntity="ClassB", inversedBy="classAs")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="ClassB_keyB", referencedColumnName="keyB")
* })
*/
private $classB;
}
그리고 이것은 ClassB
입니다 :
class ClassB{
/**
* @var string
* @ORM\Id
* @ORM\Column(name="keyB", type="string", length=255)
*/
private $keyB;
/**
*
* @var ClassC $classC
* @ORM\Id
* @ORM\ManyToOne(targetEntity="ClassC", inversedBy="classBs")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="ClassC_keyC", referencedColumnName="keyC")
* })
*/
private $classC;
/**
* @var ArrayCollection $classAs
* @ORM\OneToMany(targetEntity="ClassA", mappedBy="classB")
*/
private $classAs;
}
당신이 ClassB
을 알 수있는 바와 같이 복합 기본 키 (2 엔티티와 열에)가 포함되어 있습니다.
는 그리고 이것은 ClassC
입니다 :
class ClassC{
/**
* @var string
* @ORM\Id
* @ORM\Column(name="keyC", type="string", length=255)
*/
private $keyC;
/**
* @var ArrayCollection $classBs
* @ORM\OneToMany(targetEntity="ClassB", mappedBy="classC")
*/
private $classBs;
}
이 Whene 내가 (findAll()
사용) 내가 여기 실종 무엇이 예외를 Missing value for primary key classC on ERP\................\ClassB
를 얻을 수를 ClassA의 모든 엔티티를 표시하려고?!
공공 기능을 추가 할 필요가 -> leftJoin ('di.classB' 'ec') -> addSelect ('ec') -> getQuery() -> getResult(); } – isom
좋은 직장있으세요? – Ld91