我有两个班级:班级和学生。每个班级都包含一个或多个学生。
在我的表单(创建学生)中,我想要一个包含所有可用课程的滚动选择器,以便将我的学生放在课堂上。
我已经这样做了:
/**
* @param FormBuilderInterface $builder
* @param array $options
*/
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('name')
->add('classe', 'entity', array(
'required' => true,
'class' => 'MyCoolBundle:Classe',
'query_builder' => function(ClasseRepository $cr) {
return $cr->createQueryBuilder('c')
->orderBy('c.name', 'ASC');
}))
;
}
但结果是:
Could not load type "entity"
500 Internal Server Error - InvalidArgumentException
答案 0 :(得分:0)
在您提交的文档之后,您需要重写字段类型:
<强> Extract from doc 强>
use Symfony\Bridge\Doctrine\Form\Type\EntityType;
// ...
$builder->add('users', EntityType::class, array(
'class' => 'AppBundle:User',
'choice_label' => 'username',
));
所以我认为你应该尝试类似的事情:
use Symfony\Bridge\Doctrine\Form\Type\EntityType;
...
...
$builder
->add('name')
->add('classe', EntityType::class, array(
'required' => true,
'class' => 'MyCoolBundle:Classe',
'query_builder' => function(ClasseRepository $cr) {
return $cr->createQueryBuilder('c')
->orderBy('c.name', 'ASC');
}))
;