私はこのような選択EntityTypeにデフォルト値を設定しようとしている:Symfony3 EntityTypeのデフォルト値を設定するには?
$builder
->add('town', EntityType::class, array(
'label' => "TOWN",
'class' => 'AppBundle:Town',
'choice_label' => 'name',
'choice_value' => 'id',
'attr' => array('class' => 'form-control'),
'placeholder' => 'CHOOSE_AN_OPTION',
'required' => false,
'data' => $this->em->getReference('AppBundle:Town', $options['attr']['town'])
));
私はデータオプションを使用してそれを実行しようとしていました。これはChoiceTypeには作用しますが、EntityTypeには作用しません。私は町のエンティティ ID、名前とオブジェクト全体をデータオプションに渡そうとしました。
Iは、コントローラからフォームオブジェクトを作成します。私は何も起こらないタウンIDまたは名前を渡すと
$finder = $this->createForm(UserFinderType::class, null,
array('attr' => array('role' => $this->getUser()->getRole(),
'town' => empty($params['town']) ? null : $townService->findOneById($params['town'])->getId())));
、プレースホルダが示されています。プレースホルダを削除すると、空白のオプションが選択されます。
私は町全体のオブジェクトを渡すと、このエラーが返されます。Catchable Fatal Error: Object of class AppBundle\Entity\Town could not be converted to string
をそして、私は__toStringメソッドを実装する場合、私はIDを取得したり、名前しようとしたのと同じ結果を得ます。
https://stackoverflow.com/a/45468030/4224384 – yceruto