3

我有一个 BookEntity (Name,Descript, ...) 与 TagEntity(name, position) 的 OneToMany 关系

一个标签只链接到一个 BookEntity,一个 BookEntity 可以有多个标签,但也可以保持标签以明确的顺序排序。

为此,我使用 Drag&Drop javascript 插件来设置隐藏到我嵌入的 TagType 中的输入字段

$builder->add('tags','collection', array(
    'type' => new TagType(),
    'allow_add' => true,
    'by_reference' => false,
    'prototype'   => true,
    'allow_delete' => true)
);

我可以使用原型添加新标签。

但我有现有的标签,我将进入 BookType 的编辑页面。

如何指定 TagType 的顺序?

非常感谢

4

2 回答 2

3

参考这个问题这个问题,您可以使用教义的@OrderBy注释在从数据库中获取标签时对标签进行排序。这也会影响表单集合的渲染。

/**
 * @ORM\ManyToMany(targetEntity="Tag")
 * @ORM\OrderBy({"position" = "ASC"})
 */
protected $tags;

作为一个快速提醒,您可以按照我在此处的回答中的描述在控制器中订购已经获取的集合。

于 2013-08-29T12:57:54.970 回答
2

您可以在树枝视图中排序:

{% for thing in somethings|sort('ThingIdColum') %}
于 2013-08-29T13:01:05.357 回答