我在Symfony 4 ORM表单(干预(上有一个collectionType(装备(。例如,此设备字段:
<input type="file" id="intervention_equipements_0_photoGraffiti" name="intervention[equipements][0][photoGraffiti]">
我试图用获取该字段的数据
$fileToTransfer = $form['intervention_equipements_0_photoGraffiti']->getData();
或
$fileToTransfer = $form['intervention[equipements][0][photoGraffiti]']->getData();
我有错误儿童"干预[设备][0][photoGraffiti]"不存在。
这是我的干预类型:
$builder
->add('idInstallation', EntityType::class, [
'class' => Installation::class,
'choice_label' => 'numeroInstallation',
'required' => false,
])
->add('equipements', CollectionType::class, array(
'entry_type' => EquipementInterventionType::class,
'entry_options' => array('label' => false),
))
设备实体:
$builder
->add('nom', TextType::class, array(
'error_bubbling' => true,
'required' => false,
'disabled' => true
))
->add('numero', TextType::class, array(
'error_bubbling' => true,
'required' => false,
'disabled' => true
))
->add('etatEquipement', ChoiceType::class, array(
'choices' => $choices_controle,
'expanded' => false,
'multiple' => false,
'required' => false,
'error_bubbling' => true,
))
->add('photoEquipement', FileType::class, array(
'error_bubbling' => true,
'required' => false,
'disabled' => false,
'data_class' => null
))
->add('graffiti', CheckboxType::class, array(
'required' => false,
'error_bubbling' => true,
))
->add('photoGraffiti', FileType::class, array(
'error_bubbling' => true,
'required' => false,
'disabled' => false,
'data_class' => null
))
...
请问我该怎么修?
直接使用$form->getData()
。这将返回包含您正在查找的所有表单数据的数组。
在表单控制器中
$equipements = $intervention->getEquipement();
将返回集合数组,然后
foreach ($equipements as $equipement) {
$fileToTransfer = $equipement->getPhotoGraffiti()
}
希望你的实体类中有getter和setter