第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

按連接表的列對多對多關系進行排序

按連接表的列對多對多關系進行排序

PHP
慕田峪9158850 2021-06-11 18:39:22
否可以通過帶有注釋的實體中的連接表的列對 ManyToMany 關系進行排序?我已經嘗試過得到它工作,@ORM\JoinTable并且@ORM\JoinColumn,但這似乎并沒有工作時。class Product {    /**     * @ORM\ManyToMany(targetEntity="App\Entity\Category")     * @ORM\OrderBy({"name" = "ASC"})     */    private $categories;}class Category {    use Knp\Translatable;}class CategoryTranslation {    use Knp\Translation;    /**     * @ORM\Column(type="string", length=255)     */    private $name;}我想@OrderBy({"CategoryTranslation.name" = "ASC")在 Product 實體中做一些類似的事情。或者有沒有辦法在@ManyToMany注釋中執(zhí)行存儲庫方法來手動構建查詢以選擇具有正確順序的類別?
查看完整描述

2 回答

?
精慕HU

TA貢獻1845條經驗 獲得超8個贊

不確定您是否可以通過注釋來做到這一點,但我已經通過一個簡單的uasort函數(shù)實現(xiàn)了您正在尋找的結果。在您的Product實體中,為您的getCategories()getter嘗試類似以下內容。


public function getCategories()

{

    $categories = $this->categories;


    uasort($catetories, [$this, 'mySortCategories']);


    return $categories;

}


private function mySortCategories(Category $cat1, Category $cat2)

{

    if ($cat1->getName() === $cat2->getName()) {

        return 0;

    }

    return ($cat1->getName() < $cat2->getName()) ? -1 : 1;

}


查看完整回答
反對 回復 2021-06-13
  • 2 回答
  • 0 關注
  • 156 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號