在一个限制可用选项的传统项目上工作,让我处于一种需要解决以下问题的情况,理想情况下使用原则。主义从一个(多对一单向(不同的捆绑))中选择许多
我有两个实体在不同的包中有一个单向的多对一链接。
BundleA对BundleB依赖和实体链接与此类似:
BundleA /实体/ TheMany:
/**
* @var TheOne $theOne
* @ORM\ManyToOne(targetEntity="BundleB\Entity\TheOne")
* @ORM\JoinColumn(name="theone_id", referencedColumnName="id", onDelete="SET NULL")
*
*/
private $theOne;
从BundleB我现在需要选择所有TheOne实体,并为每个我需要所有TheMany实体。
该查询还需要对TheOne实体的任何属性或相关TheMany实体的计数进行排序。
在Doctrine中构建一个查询会带回所有TheOne实体以及每个TheMany中的一个......但我有一些困难提出了一个将带回所有相关TheMany的Doctrine查询的查询实体而不只是一个。
我希望有人可能遇到类似的问题,因此有一些洞察力?
这可能没有得到足够清晰的解释,在这种情况下请指导我进一步解释。
类似的东西,但这种方法有两个问题,第一个是我需要通过与任何给定TheOne实体关联的“TheMany”实体的数量来排列TheOne列表。另一个问题是BundleA没有BundleB的可见性。我不能引入这个链接,因为它是一个循环依赖。 BundleA需要BundleB,但BundleB不需要BundleA(由于与作曲家之类的事情有关的循环依赖性问题,我不能将其作为需求添加)。实际上,这两个捆绑是相互依赖的,应该合并,但我不能因为各种原因这样做。 – ViniH
另一点是,如果我得到实际水合的TheMany实体,这对任务的目的无关紧要,实际上我只需要逗号分隔的ID列表。我觉得我可能不得不求助于SQL而不是DQL。 – ViniH
好的,首先,如果我得到你所要求的权利,我更改代码,所以你会有那里的一个订单的数量很多,他们链接到 –