symfony - 在 EasyAdmin 3.x 中使用 autocomplete() 时如何设置 AssociationField 选择标签

标签 symfony symfony5 easyadmin

在 EasyAdmin EntityCrudController 的 AssociationField 上使用自动完成方法时,是否可以使用关联实体的属性作为选择标签,而不是关联的实体 ID?

例子:

我有 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 时请参见以下屏幕截图: The autocomplete value is a reference to the respective Entity ID .我们将如何替换 User#使用用户的名称属性?

我已经尝试过但没有成功的事情:

  • 使用 ChoiceField 并向 ChoiceField->setFormTypeOptions() 提供“class”和“choice_label”方法,以及 UserRepository->FindAll() 的结果到 ChoiceField->setChoices()方法
  • AssociationField->setFormTypeOptions() 提供“class”和“choice_label”方法

最佳答案

您是否尝试制作实体的 __toString() 方法?

关于symfony - 在 EasyAdmin 3.x 中使用 autocomplete() 时如何设置 AssociationField 选择标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62650128/

相关文章:

php - 部署发生后,如何自动清除 Redis 缓存?

php - 即使我不要求,教义也会重命名我的所有索引

Symfony 5 Heroku 无法从给定配置创建签名的 JWT

symfony - 链接到不同 CRUD Controller 的某些操作

routing - 如何在 Symfony2 中为某些路径/url 禁用路由

orm - 使用 Doctrine 和 Symfony 创建类似多态的关联

forms - 使用 symfony2 和 phpunit 修改表单操作

php - 如何使用 symfony 5 或降级版本到 4.4 启动本地服务器?

php - Symfony 5. EasyAdmin 3. VichUploader。同时上传多个文件

symfony4 - 如何在 Easy admin 中定义输入来保存 float ?