如何解决嵌入表单的集合空结果
我在这里回答问题: One form with all row of one entity
我的文件是:
PermissionCollectionType:
class PermissionsCollectionType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder,array $options)
{
$builder
->add('permissions',CollectionType::class,[
'entry_type' => PermissionsContentsType::class,])
;
}
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults(array(
'data_class' => null
));
}
}
PermissionsContentsType:
class PermissionsContentsType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder,array $options)
{
$builder
->add('name',TextType::class,[
'label' => 'Name','attr' => [
'placeholder' => 'Name'
]
])
->add('view',CheckboxType::class,[
'mapped' => false,'required' => false,'label' => false
])
->add('new','label' => false
])
->add('edit','label' => false
])
->add('delete','label' => false
])
->add('accept','label' => false
])
;
}
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults([
'data_class' => Categories::class
]);
}
}
控制器:
public function permissionsAction(Request $request,EntityManagerInterface $em,$role,$type,UserInterface $user)
{
$categoriesRepository = $em->getRepository('App:Categories');
$list = $categoriesRepository->findAll();
$form = $this->createForm(PermissionsCollectionType::class,$list);
$form->handleRequest($request);
return $this->render('Acl\permissionForm.html.twig',[
'list' => $list,'form' => $form->createView(),]);
}
嫩枝:
{% extends 'base.html.twig' %}
{% block body %}
{{ form(form) }}
{% endblock %}
不幸的是,该表单仅显示单词'Permissions',仅此而已,就像列表不存在一样。可能是什么问题或如何解决?
解决方法
您的PermissionCollectionType
将调查您的$list
数组以找到permissions
键,该键不存在。要解决此问题,请尝试在将密钥提供给表单之前进行设置(就像在链接的问题+答案中所做的那样):
//...
$list = array('permissions' => $list);
$form = $this->createForm(PermissionsCollectionType::class,$list);
//...
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。