Symfony 2.8 Easyadmin DataTransformer для перечисления (да, нет) полей для представления логических значений в формах

Я использую easyadmin для генерации потребностей в бэкенде. Мне очень понравилось управлять булевыми значениями с помощью функции включения / выключения пользовательского интерфейса в виде списка.

Но я не использую логические значения как tinyint(1) 1 or 0Я использую как ENUM('yes', 'no'), Так что в формах Symfony я использую DataTransformer преобразовать yes to 1 при отправке на просмотр, и 1 to yes при отправке на модель. Но я не смог найти никакой соответствующей документации, как я мог бы использовать преобразователь данных или прослушиватель событий в easyadmin. Я вижу несколько рассылок и событий в easyadmin.

События

Есть ли у вас какие-либо идеи, как я мог бы добавить dataTransformer или прослушиватель событий?

Любая помощь будет оценена.

1

Решение

Я нахожу другое решение, которое решает проблему без необходимости использования DataTransformers или Listeners. В доктор это упоминает о методах виртуальной сущности. Поэтому я добавил следующие методы, которые не связаны напрямую ни с какими свойствами объекта.

public function setBoolHost($isHost)
{
return $this->setHost($isHost ? EntityInterface::YES : EntityInterface::NO);
}

public function getBoolHost()
{
return ($this->getHost() == EntityInterface::YES) ? true : false;
}

Так в config.yml easy_admin: конфиг выглядит следующим образом

entities:
Members:
list:
fields:
- { property: 'boolHost', type: 'toggle', label : 'Is Host ?'}

Я надеюсь, что это помощь кому-то, кому нужно решение этой проблемы.

3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]