Я пытался добавить 'Категории экзамена' в мою форму:
class ExamType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
// ...
->add('categories', EntityType::class, [
'class' => ExamCategory::class,
'multiple' => true,
'expanded' => false,
'label' => 'Kategoria',
'choice_label' => 'name',
'query_builder' => function (EntityRepository $er) {
return $er->createQueryBuilder('c')
->orderBy('c.name');
},
])
// ...
;
}
}
Вот сущность ExamCategory:
class ExamCategory
{
// ...
/**
* @ORM\ManyToMany(targetEntity="App\Entity\Exam", mappedBy="categories")
*/
private $exams;
// ...
/**
* @return Collection|Exam[]
*/
public function getExams(): Collection
{
return $this->exams;
}
// ...
}
и базовая сущность экзамена:
class Exam
{
/**
* @ORM\ManyToMany(targetEntity="App\Entity\ExamCategory", inversedBy="exams")
*/
private $categories;
// ...
/**
* @return Collection|ExamCategory[]
*/
public function getCategories(): Collection
{
return $this->categories;
}
// ...
}
Я пытался очистить кеш, метаданные из Doctrine, но это не помогло.
Когда я удалил это поле, форма отображается без проблем (пространство имен правильное, я не нашел опечаток).