0
Symfony2에서 다른 테이블을 기반으로하는 기본 키를 만들려고하지만 데이터 고정 장치를 실행하려고 할 때 다음 오류가 발생합니다.여러 테이블에 대해 동일한 기본 키
[교리 \ ORM \ ORMException] 할당 된 ID를 누락 엔티티 유형 Ofdan \ SearchBundle \ 엔티티 \ CacheHeader의
. 이 엔티티에 대한 식별자 생성 전략은 EntityManager # persist()가 호출되기 전에 ID 필드가 채워지도록 요구합니다. 대신 자동으로 생성 된 식별자를 원할 경우 그에 따라 메타 데이터 매핑을 조정해야합니다.
/**
* @ORM\Entity
* @ORM\Table(name="cacheHeader")
* @ORM\HasLifecycleCallbacks
*/
class CacheHeader
{
/**
* @ORM\ManyToOne(targetEntity="Domain", inversedBy="domains")
* @ORM\JoinColumn(name="domainId", referencedColumnName="id")
* @ORM\Id
*/
private $domain;
...
}
데이터 고정 나는 이드가 의미한다 domainId을 설정해야 도메인의 부하를 사용하고 있습니다.
class CacheHeaderFixtures extends AbstractFixture implements OrderedFixtureInterface
{
public function load(ObjectManager $manager)
{
$cacheHeader1 = new CacheHeader();
$cacheHeader1->setDomain($manager->merge($this->getReference('bbc-domain')));
$cacheHeader1->setDate(new \DateTime());
$cacheHeader1->setPage(10); // CacheHeader::Page_Index
$cacheHeader1->setHeader('');
$manager->persist($cacheHeader1);
}
}
어떻게 CacheHeader 엔티티를 domainId와 함께 사용할 수 있습니까?