Как установить метку выбора AssociationField при использовании autocomplete () с EasyAdmin 3.x

Можно ли использовать свойство связанной сущности в качестве метки выбора, а не связанный идентификатор сущности при использовании метода автозаполнения для AssociationField в EasyAdmin EntityCrudController?

Пример:

У меня есть 3 объекта со следующими свойствами:

User
  name

Certification
  name

UserCertification
  User
  Certification

В моем UserCertificationCrudController есть следующее:

public function configureFields(string $pageName): iterable
    {
        return [
            AssociationField::new('user')
                ->autocomplete(),
            AssociationField::new('memberCertification')
                ->autocomplete(),
            'lastRenewed',
            'expiration',
        ];
    }

См. Следующий снимок экрана при создании нового UserCertification: Значение автозаполнения является ссылкой на соответствующий идентификатор объекта < / а>. Как бы мы заменили User# свойством name для пользователя?

То, что я уже пробовал безуспешно:

  • используя ChoiceField и передавая 'class' и 'choice_label' методу ChoiceField->setFormTypeOptions(), а также результат UserRepository->FindAll() методу ChoiceField->setChoices()
  • предоставление 'class' и 'choice_label' методу AssociationField->setFormTypeOptions()

person BrandynL    schedule 30.06.2020    source источник


Ответы (1)


Вы пытаетесь создать __toString() метод сущности?

person Ionik    schedule 30.06.2020
comment
Решением была установка метода для моих пользователей и объектов сертификации. - person BrandynL; 30.06.2020