Symfony2/原则:两个捆绑包之间的一个多个/多个一个

Symfony2/原则:两个捆绑包之间的一个多个/多个一个,symfony,doctrine-orm,bundle,one-to-many,many-to-one,Symfony,Doctrine Orm,Bundle,One To Many,Many To One,我有两个包:一个核心包(C)和一个可选包(O) 我在O中创建了一个实体,该实体具有引用C中实体的OneToMany属性 我想在C中的实体中注入相关的manyTone(我无法在C中写入它,因为0是可选的) 我看到了resolve_target_entities orm功能,但我的用例看起来不太好,它看起来只有在您想要在捆绑包之间切换时才有用 你知道怎么做吗 致以最诚挚的问候,EDIT1: 您只需扩展O捆绑包中的SomeCoreEntity,然后添加所需内容: <?php namespace

我有两个包:一个核心包(C)和一个可选包(O)

我在O中创建了一个实体,该实体具有引用C中实体的OneToMany属性

我想在C中的实体中注入相关的manyTone(我无法在C中写入它,因为0是可选的)

我看到了resolve_target_entities orm功能,但我的用例看起来不太好,它看起来只有在您想要在捆绑包之间切换时才有用

你知道怎么做吗


致以最诚挚的问候,

EDIT1:

您只需扩展
O
捆绑包中的
SomeCoreEntity
,然后添加所需内容:

<?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();
}

}

是的,此部分已正确生成,但我需要双向关联。我添加了一个inversedBy参数,即使C中的参数和注释不存在,它也不会在构建时提供错误。我想我可以使用PHP映射:但我不知道放置代码的好位置。感谢您的示例,但它并没有完全满足我的需要:我希望将我的实体放在我的核心包中,就像我添加了其中有很多,实体将留在核心。您可以在可选捆绑包中对其进行扩展,以根据需要对其进行修改。这是我个人能够想到的唯一一种方法,可以让核心包完全不知道您的可选包。
<?php
namespace Vendor\OptionalBundle\Entity

Class SomeOptionalEntity
{

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

}