добавить виртуальное свойство в пакет easy-admin

В настоящее время я работаю с версией 2.3 пакета easy-admin в Symfony 4.

Я пытаюсь создать виртуальное свойство для нового представления. У меня следующая конфигурация

#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);
    }

как объясняется в документации setter должно хватить.

но когда я перехожу на страницу new, я получаю следующую ошибку:

Ни свойство «toto», ни один из методов «getToto ()», «toto ()», «isToto ()», «hasToto ()», «__get ()» не существуют и не имеют общего доступа в классе «App \» Сущность \ Поле ".

это означает, что страница ищет getter, а не setter. Это нормально или я что-то не так сделал?


person Pierrick Rambaud    schedule 31.10.2019    source источник


Ответы (1)


Я только что столкнулся с этой проблемой и решил ее, добавив получатель. Как вы сказали, он ищет геттер, но также и сеттер.

person SuperMalang    schedule 05.11.2019