0
我想在Symfony2中創建一個基於另一個表的主鍵,但在嘗試運行數據夾具時出現以下錯誤。多個表相同的主鍵
[學說\ ORM \ ORMException]
類型Ofdan \ SearchBundle \實體\ CacheHeader的實體缺少一個分配的ID。此實體的標識符生成策略要求在調用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;
...
}
數據夾具我使用域中負荷,應設置域ID,這應該意味着有一個ID。
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一起工作?