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

时间:2019-10-31 18:35:24

标签: symfony symfony2-easyadmin easyadmin

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

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

#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页面时,出现以下错误:

  

属性“ toto”或方法“ getToto()”,“ toto()”,“ isToto()”,“ hasToto()”,“ __ get()”都不存在,并且在类中没有公共访问权限“ App \ Entity \ Field”。

,表示该页面正在寻找getter,而不是setter。是正常现象还是我做错了什么?

1 个答案:

答案 0 :(得分:1)

我刚刚遇到了这个问题,并通过添加 getter 解决了该问题。 如您所说,它正在寻找 getter ,而且也在寻找 setter