代码如下:
class McsType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options): void
{
$builder
->add('name', EntityType::class,[
'class' => Location::class,
'label' => 'For The Location',
'choice_label' => function(Location $location){
return $location->getName();
}
])
->add('mcs', CollectionType::class,[
'entry_type'=> McType::class,
'entry_options' => ['label' => false ],
'by_reference' => false,
'allow_add' => true,
'allow_delete' => true
]);
;
}
public function configureOptions(OptionsResolver $resolver): void
{
$resolver->setDefaults([
// 'data_class' => '',
]);
}
}
我得到的错误如下:
在属性路径“name”处指定的应为“string”类型的“App\Entity\Location”参数。
为了解决这个问题,我尝试用位置重命名名称不起作用。当我点击提交按钮时,我得到了上面的错误。
即使把数据类也没有任何帮助。
1条答案
按热度按时间r55awzrz1#
看起来这个问题是关于你的
Location
类的。它不能像预期的那样被转换为字符串。所以你需要实现神奇的方法__toString()
: