2

我有一个与Collar有 OneToOne 关系的实体Dog

假设我创建了一个新的Dog实体,并且我有想要关联的Collar id。不是Collar对象本身,只有它的 id number

$collar = 12;
$dog = new Dog();
$dog->setCollar(?);

我是否需要实际从数据库中获取Collar对象,只设置它的 id(已经给出),或者有没有办法创建代理Collar对象?

4

1 回答 1

4

是的,实际上有

您可以使用实体管理器来获取代理引用而不是实际实体,它只是为您提供代表实体的代理对象,而无需实际从数据库中获取它。

检查下面的代码以获取示例

$collarId = 12;

// First param is the Entity classname, second is the Entity id
$collar = $entityManager->getReference('Collar', $collarId); 

$dog = new Dog();
$dog->setCollar($colar);

$entityManager->persist($dog);
$entityManager->flush();
于 2013-03-15T16:19:04.993 回答