Поле выбора формы EasyAdmin EntityType не заполняется

Я пытаюсь заполнить поле выбора отношениями OneToMany в форме EasyAdmin. Однако поле status не заполняется записями TaskStatus из моей базы данных, в отличие от assignUsers. Вот мой FormType:

public function buildForm(FormBuilderInterface $builder, array $options)
{
    $builder
        ->add(
            'assignedUsers',
            EntityType::class, [
                'class' => User::class,
                'label' => 'Choose assigned users',
                'multiple' => true,
                'required' => true
            ]
        )
        ->add('status',
            EntityType::class, [
                'class' => TaskStatus::class,
                'label' => 'Task status',
                'choice_label' => 'title',
                'choice_value' => 'id',
                'multiple' => false,
                'required' => true
        ]);
}

Вот мои отношения сущностей Task и TaskStatus:

ЗАДАЧА:

/**
 * @ORM\ManyToOne(targetEntity="App\Components\Task\Entity\TaskStatus", inversedBy="task")
 */
protected $status;

СТАТУС ЗАДАЧИ:

/**
 * @ORM\OneToMany(targetEntity="App\Components\Task\Entity\Task", mappedBy="status")
 **/
private $task;

person vesmihaylov    schedule 19.06.2020    source источник
comment
Что вы имеете в виду под заполнением?   -  person gseidel    schedule 19.06.2020
comment
Поле выбора остается пустым, в моей базе данных есть 3 записи TaskStatus.   -  person vesmihaylov    schedule 19.06.2020
comment
пусто в 3 пустых строках или пусто ни в каких записях? (проверьте выходной html)   -  person Jakumi    schedule 19.06.2020
comment
Пусто без записей - ‹select id = task_status name = task [status] class = form-control› ‹/select›   -  person vesmihaylov    schedule 19.06.2020
comment
это действительно очень странно. вы пробовали очистить кеш? исключили ли вы все неочевидные ошибки, например, используется другая база данных, отличная от той, на которую вы смотрите, неверная таблица просматривалась. Вы проверили код для получения TaskStatus через EntityManager? может быть, сформировать тематику, которая удаляет параметры для этого конкретного поля?   -  person Jakumi    schedule 19.06.2020


Ответы (1)


Проблема заключалась в том, что я использовал неправильный репозиторий для своей сущности TaskStatus:

/**
 * @ORM\Entity(repositoryClass="App\Components\Task\Repository\TaskRepository")
 */

Правильный:

/**
 * @ORM\Entity(repositoryClass="App\Components\Task\Repository\TaskStatusRepository")
 */
person vesmihaylov    schedule 19.06.2020