在 easy-admin 包中添加虚拟 属性

add a virtual property in easy-admin bundle

我目前正在使用 Symfony 4 中的 easy-admin 包的 2.3 版本。

我尝试为新视图创建虚拟 属性。 我有以下配置

#config/packages/easy_admin.yaml
easy_admin:
    entities:
        Field:
            class: App\Entity\Field
            form: 
                fields: 
                    - { type: tab, label: initial information, icon: pencil-alt }
                    - name
            new:
                fields:
                    - { property: toto, type: file }

和我的实体文件:

//src/Entity/Field.php

/**
 * @ORM\Entity(repositoryClass="App\Repository\FieldRepository")
 */
class Field
{
    public function setToto(?File $file): self
    {
        $this->setImage(new Image);
        $this->getImage()->setImageFile($file);
    }

documentation 中所述,setter 应该足够了。

但是当我到达 new 页面时,出现以下错误:

Neither the property "toto" nor one of the methods "getToto()", "toto()", "isToto()", "hasToto()", "__get()" exist and have public access in class "App\Entity\Field".

这意味着该页面正在寻找 getter 而不是 setter。这是正常的还是我做错了什么?

我刚刚 运行 解决了这个问题,我已经通过添加 getter 解决了它。 正如你所说,它正在寻找 getter 也正在寻找 setter.