在一個限制可用選項的傳統項目上工作,讓我處於一種需要解決以下問題的情況,理想情況下使用原則。主義從一個(多對一單向(不同的捆綁))中選擇許多
我有兩個實體在不同的包中有一個單向的多對一鏈接。
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
好的,首先,如果我得到你所要求的權利,我更改代碼,所以你會有那裏的一個訂單的數量很多,他們鏈接到 –