我有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