symfony 3のformTypeでEntityTypeを使用しています。 新しいフォームで表示されたときに、すべて正常に動作しますが、choicetype listeにはデータベースからのすべての値が含まれています。 しかし、私のデータベースから既存のデータを読み込むとき、選択肢リストはデータベースから値をロードせず、プレースホルダを表示します。 データベースにチェックインし、値が保存されています。 私のフォームは、私が2のリストにChoiceTypeにEntityTypeを変更しようとテストのために、このSymfony 3 - EntityType - レンダリングデータベースの値
->add('tester', EntityType::class, array(
'class' => 'MyBundle:TesterList',
'query_builder' => function (EntityRepository $er) {
return $er->createQueryBuilder('u')
->orderBy('u.name', 'ASC');
},
'choice_label' => 'name',
'choice_value' => 'name',
'required' => true,
'placeholder' => 'Select a tester',
))
のように見え、それが完璧に動作します。 EntityTypeの問題は何か分かりません。
編集: フィールドは、このように私の形式で表示されます。
{{ form_label(formHydraulicTest.testHeader.tester,'Tester' | trans) }}
{{ form_widget(formHydraulicTest.testHeader.tester) }}
エンティティTesterListは他の事業体とのあらゆる関係を持っていません。それは単なる名前のリストです。
EntityTypeは、保存しようとするとTesterListオブジェクトを返します。したがって、この関数をTesterList Entityに追加します。
public function __toString() {
return $this->name;
}
これで、テスターの名前だけが保存され、エンティティへのリンクは保存されませんでした。
があなたのTesterListエンティティと自分のフォームに関するいくつかの情報を追加してください)。このコードには何も問題はないので、問題は別の場所にあるはずです。 –