Symfony2 / Doctrine:两个捆绑包之间的OneToMany / ManyToOne

时间:2014-05-20 16:44:31

标签: symfony doctrine-orm bundle one-to-many many-to-one

我有2个捆绑:核心(C)和可选的(O)。

我在O中创建一个实体,其中OneToMany属性引用C中的实体。

我想在C中的实体中注入相关的ManyToOne(我不能用C写它,因为0是可选的)

我看到了resolve_target_entities orm功能,但我的用例并不好看,只有当你想在bundle之间切换时才会看到它。

你知道怎么做吗?

致以最诚挚的问候,

1 个答案:

答案 0 :(得分:1)

<强> EDIT1:

您可以简单地扩展SomeCoreEntity套装中的O并添加您需要的内容:

<?php
namespace Vendor\OptionalBundle\Entity;
use Vendor\CoreBundle\Entity\SomeCoreEntity as BaseEntity;
use Doctrine\Common\Collections\ArrayCollection;

Class NewEntity extends BaseEntity
{

/**
 * @ORM\OneToMany(targetEntity="Vendor\OptionalBundle\Entity\NewEntity" mappedBy="coreEntity")
 */
private $optionalEntities;

public function __construct() {
    $this->optionalEntities = ArrayCollection();
}

}

原始答案:

你是否尝试在O Bundle:

中这样写
<?php
namespace Vendor\OptionalBundle\Entity

Class SomeOptionalEntity
{

/**
 * @ORM\ManyToOne(targetEntity="Vendor\CoreBundle\Entity\SomeCoreEntity")
 */
private $coreEntity;

}