Easyadmin не распознает логический тип

Я пытаюсь реализовать бэкэнд с помощью easyadmin, я думаю, что это отличная идея, и мне нравится реализация... пока все идет хорошо, но у меня есть небольшая проблема, я хочу показать в форме логическое поле, например : 'опубликовано', моя конфигурация выглядит так:

Blog:
    label: 'Posts list'
    class: MyCompany\MyBundle\Entity\Post
    list:
        fields: ['title', 'published']
    new:
        fields: 
          - 'title'
          - 'summary'
          - 'body'
          - { property: 'published', type: 'boolean' }

Когда я запускаю этот код, я получаю сообщение об ошибке:

Не удалось загрузить тип "boolean"

Вот как я определяю поле в Entity:

/**
 * 
 * @ORM\Column(name="published", type="boolean", length=1)
 */
protected $published = 1;

person relez    schedule 20.11.2015    source источник


Ответы (2)


Я знаю, что прошло некоторое время с тех пор, как этот вопрос был опубликован, но для тех, кто все еще получает эту ошибку, в документации easyadmin (https://github.com/javiereguiluz/EasyAdminBundle/blob/master/Resources/doc/book/4-edit-new-configuration.md) указано, какие типы нам нужно использовать для каждого сценария (список, редактировать представления). В вашем вопросе (сценарий редактирования) пока единственным обходным путем является использование «флажка» в качестве типа в config.yml. Режим редактирования принимает только типы форм Symfony (http://symfony.com/doc/current/reference/forms/types.html).

person Victor Pinto    schedule 06.03.2017
comment
Хотя эта ссылка может ответить на вопрос, лучше включить сюда основные части ответа и предоставить ссылку для справки. Ответы, содержащие только ссылки, могут стать недействительными, если связанная страница изменится. – Из обзора - person Aamir; 07.03.2017
comment
Извините, это полезный текст из типа ссылки (необязательно): тип формы Symfony, используемый для отображения этого поля. Вы можете использовать короткое имя типа (например, электронная почта) вместо полного имени класса (например, Symfony\Component\Form\Extension\Core\Type\EmailType), даже если ваше приложение работает на Symfony 3 (необходимое преобразование выполняется внутри пакет). Допустимые значения: Любой из типов форм Symfony. Любой из настраиваемых типов форм EasyAdmin: easyadmin_autocomplete (они объясняются далее в этой главе). - person Victor Pinto; 07.03.2017

Вам не нужно указывать тип в файле конфигурации yml. Он будет автоматически приниматься от сущности.

person Maya Shah    schedule 20.09.2016
comment
Это работает только в том случае, если сущность имеет это свойство, объявленное явно. - person Tarasovych; 04.03.2020