我有2個實體。與Symfony2的Doctrine ORM - 排序ManyToMany關係
Mag
Page
其中有ManyToMany關係。一個頁面可以附加許多Mags,但我需要允許用戶調整Mags的排序順序。
目前,訂單正是基於這本雜誌的id
在Page_Mag
表
所以我需要一個排序字段,後來我就需要爲每個頁面 - >馬格關係的排序字段,因爲有很多頁面可以附加任意數量的Mags。
我很努力地讓我的頭在這樣做的最佳方式,而不會大量混亂我的模式!
任何想法?
我的註解是:
/**
* @ORM\ManyToMany(targetEntity="Page", mappedBy="magazines" , cascade = {"persist", "remove"})
*/
protected $Page;
和
/**
* @ORM\ManyToMany(targetEntity="Magazine", inversedBy="id" , cascade = {"persist", "remove"})
*/
protected $magazines;
編輯: 要嘗試和更好的解釋,這是關係可能是什麼樣的,這裏的彈匣的順序是重要的保持:
Page_id 1 -> Mag_id:4
-> Mag_id:2
-> Mag_id:1
Page_id 2 -> Mag_id:12
-> Mag_id:1
-> Mag_id:4
等
感謝。這是有道理的,但我需要知道如何將排序字段添加到我認爲的ManyToMany?所以我的訂單可能是Mag_id = 1,Mag_id = 4,Mag_id = 2等編輯:只看到你的編輯! :) – BobFlemming 2012-01-27 12:01:49
你只是想排列mags或頁面內mag或兩者?如果它是雜誌,那麼只有雜誌需要一個分類領域。如果它是mag中的頁面,則使用join實體。 – maiwald 2012-01-27 12:04:11
令人困惑的是,通過Pages,我不是在談論'雜誌'頁面,而是在談論'網頁'。所以Page是主要的實體,它有許多'雜誌',但每個'雜誌'可以在許多'Pages \ :) – BobFlemming 2012-01-27 12:10:47