Symfony - данный объект не является экземпляром класса, в котором это свойство было объявлено

Я попытался добавить в свою форму «Категории экзаменов»:

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;
    }

    // ...
}

и базовая сущность Exam:

class Exam
{
    /**
     * @ORM\ManyToMany(targetEntity = "App\Entity\ExamCategory", inversedBy = "exams")
     */
    private $categories;

    // ...

    /**
     * @return Collection|ExamCategory[]
     */
    public function getCategories(): Collection
    {
        return $this->categories;
    }

    // ...
}

Я попытался очистить кеш, метаданные из Doctrine, но это не помогло. Когда я удалил это поле, форма отображается без проблем (пространство имен правильное, я не нашел опечаток).

А в чем именно проблема?

iiirxs 08.10.2018 20:20

@iiirxs Я получаю ошибку, как в теме: Given object is not an instance of the class this property was declared in

Paul 08.10.2018 20:29

Вы также должны вставить код, в котором создается форма.

iiirxs 08.10.2018 20:33

Другие пользователи отметили ваш вопрос как низкое качество и необходимость улучшения. Я переформулировал / отформатировал ваш ввод, чтобы его было легче читать / понимать. Просмотрите мои изменения, чтобы убедиться, что они отражают ваши намерения. Но я думаю, что на ваш вопрос пока нет ответа. Ты должен ответить редактировать на ваш вопрос сейчас, чтобы добавить недостающие детали (см. минимальный воспроизводимый пример). Не стесняйтесь писать мне комментарий, если у вас есть дополнительные вопросы или отзывы для меня.

GhostCat 09.10.2018 06:19

Пожалуйста, не помещайте такую ​​информацию о сообщениях об ошибках в комментарии. Вместо этого всегда обновляйте вопрос.

GhostCat 09.10.2018 06:19
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
4
5
2 546
0

Другие вопросы по теме