我有一个实体需要返回另一个实体的实例 - 存储的记录或新的记录(如果尚未存储)。
<?php
/**
* @Entity
*/
class User {
/**
* @OneToOne(targetEntity="Basket")
* @JoinColumn(nullable=true)
*/
protected $activeBasket;
public function getActiveBasket() {
if (!isset($this->activeBasket)) {
$this->activeBasket = new Basket($this);
// $em->persist($this->activeBasket);
// $em->flush();
}
return $this->activeBasket;
}
}
我的问题是我没有一个 EntityManager 来保存这个新的篮子(显然不希望模型中有一个)。我不确定执行此操作的最佳方法。我确实希望能够调用$user->getActiveBasket()
和检索一个篮子,无论它是以前创建的还是新的。
感觉这应该是一个常见问题,或者有更好的方法来构建它(我希望有一种方法可以将一个连接到 EntityRepository 或其他东西中)。我怎样才能做到这一点?