0
データベーステーブルから読み込まれた選択フィールドを取得しようとしています。これは、プライマリキー列とtypeという名前の別の列を持つ単なるテーブルです。Symfony 2.8フォームEntityTypeが単一の値を返します
が$builder
->add('account_type', EntityType::class, array(
'class' => 'AppBundle:AppAccountTypes',
'choice_label' => 'type'
));
私の選択ドロップダウンが単純に最初のエントリを3回繰り返して:私は、フォームを作成する場合
id type
1 Sample 1
2 Sample 2
3 Sample 3
:
ちょうどテストのために、たとえばテーブルが構成されています。テスト便宜上
<select id="add_account_form_account_type" name="add_account_form[account_type]" class="form-control">
<option value="1">Sample 1</option>
<option value="1">Sample 1</option>
<option value="1">Sample 1</option>
</select>
、コントローラは、単に使用している:
$account = new Account();
$form = $this->createForm(new AddAccountForm(), $account);
return $this->render('account/new.html.twig', array(
'page_title' => 'Create Account',
'form' => $form->createView()
));
小枝テンプレート:
{% extends 'base.html.twig' %}
{% block body %}
<h1>{{ page_title }}</h1>
{{ form_start(form) }}
{{ form_widget(form) }}
{{ form_end(form) }}
{% endblock %}
を、私はここで何をしないのですか? 、私はあなたのコードに見るように名前がaccount_type
あるフィールドがないので
$builder
->add('account_type', EntityType::class, array(
'class' => 'AppBundle:AppAccountTypes(Your Entity Class)',
'mapped' => false,
'choice_label' => 'type'
));
これが問題であるかもしれませ:
あなたのコントローラや小枝が好きなものを見ていますか? – ccKep
更新され、テストのためだけにすべてが簡素化されました。私は本当に明白な何かを見逃していると確信していますが、私はそれを見ることができません。 – Jestep
私が見ることのできるものからうまく見えます...おそらくエンティティとリポジトリを投稿しようとしています - それは何かが明らかであることは疑いがありますが、 – ccKep