3

TagEntity(name, position) との OneToMany 関係を持つ BookEntity (Name,Descript, ...) があります。

タグは 1 つの BookEntity にのみリンクされ、BookEntity は複数のタグを持つことができますが、明示的な順序で並べ替えられたタグを保持することもできます。

そのために、埋め込みの TagType に非表示の入力フィールドを設定するために、ドラッグ アンド ドロップ JavaScript プラグインを使用しています。

$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

this issuethis oneを参照すると、 doctrine の@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 に答える