2
私は、データベースからロードされたチェックボックス付きフォームを持っています(私はエンティティフィールドタイプを使用します)。チェックボックスは地域と地区です。私は次のデータベーススキーマを持っています:Symfony2カスタムフォーム
+-----------------------------------+
| id | parent_id | name |
+-----------------------------------+
| 1 | NULL | Region |
+-----------------------------------+
| 2 | 1 | District |
+-----------------------------------+
| 3 | 1 | Another district |
+-----------------------------------+
| 4 | NULL | Another region |
+-----------------------------------+
| 5 | 4 | Next district |
+-----------------------------------+
問題は次の形式が必要です。どうやってするか?オプションで
<b>Region</b><!-- Loaded from database -->
<!-- Dictricts ordered by name -->
<input type="checkbox" id="someId" value="3"><label for="someId">Another district</label>
<input type="checkbox" id="someId" value="2"><label for="someId">District</label>
<b>Another region</b><!-- Loaded from database -->
<!-- Dictricts ordered by name -->
<input type="checkbox" id="someId" value="5"><label for="someId">Next district</label>
これは役に立ちません。結果は 'name'でソートされますが、** region **と** Dictricts **によってグループ化される結果が、それぞれの領域で' name'によってソートされています。 – kuboslav
あなたのエンティティ(parentId上)に反射的な関係を定義していますか?とにかく、EntityTypeフィールドに持って来たネイティブのquery_builderでそれを行うことはできません。反射的なリレーションシップを定義し、INDEX BY DQLクエリでエンティティを適切にソートし、* choices *オプションで結果を送信する必要があります。 – AlterPHP
_reflexive relation_を説明できますか? – kuboslav