1
私のアプリケーションでは、ユーザは多くの言語を持つことができますのでUser
とLanguage
エンティティはManyToOne
の関係で関連付けられています。ユーザエンティティクラスでsymfony 2.8 - フォームコレクションタイプのレンダリングのみのラベル
:言語のエンティティクラスで
/**
* @ORM\OneToMany(targetEntity="TraineeLanguage", mappedBy="trainee", cascade={"persist"}))
*/
private $languages;
public function __construct()
{
$this->languages = new ArrayCollection();
}
:
/**
* @ORM\ManyToOne(targetEntity="Trainee", inversedBy="languages")
* @ORM\JoinColumn(name="trainee_id", referencedColumnName="id")
*/
private $trainee;
今、私は、ユーザー・プロファイル・フォームで言語形式のコレクションを作成したいと思います:
->add('languages', CollectionType::class, array(
'type' => TraineeLanguageType::class,
'required' => false
))
私の言語フォームクラス:
私は、フォームに{{ form_row(trainee_background_information_form.languages) }}
を表示しようとすると、
class TraineeLanguageType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('language', TextType::class, array(
'attr' => array(
'placeholder' => 'Language'
),
'required' => false
))
->add('level', TextType::class, array(
'attr' => array(
'placeholder' => 'Level'
),
'required' => false
));
}
public function configureOptions(OptionsResolver $resolver)
{
$resolver
->setDefaults(array(
'data_class' => 'IndexBundle\Entity\TraineeLanguage'
));
}
public function getName()
{
return 'language';
}
}
は今だけのラベルが表示されます。
また、それはで作業されていません。
{{ form_widget(trainee_background_information_form.languages) }}
または
{% for language in trainee_background_information_form.languages %}
{{ form_row(language) }}
{% endfor %}
は、私のコードの誰も通知ミスをして、何が起こっているか知っていますか?
です。 MopaBootstrapとBraincraftedBootstrapバンドルはビューをレンダリングしたので、私は彼らがスタイリングしてJS機能を作成していないと思った。ありがとうございました。 –