1

我使用easyadmin 来生成后端需求。我真的很喜欢在列表视图中通过漂亮的关闭/打开ui 功能来控制布尔值。

但我不使用布尔值 as tinyint(1) 1 or 0,我使用 as ENUM('yes', 'no')。因此,在发送到视图和发送到模型时,我使用 symfony 表单DataTransformer进行转换。但我找不到任何相关文档如何在 easyadmin 中使用数据转换器或事件侦听器。我看到easyadmin中存在几个调度和事件。yes to 11 to yes

活动

您知道如何最好添加 dataTransformer 或事件侦听器。

任何帮助,将不胜感激。

4

1 回答 1

3

我找到了另一种解决方案,无需 DataTransformers 或 Listeners 即可解决问题。在Doc中,它提到了虚拟实体方法。所以我放了以下与任何实体属性没有直接关系的方法。

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 ?'}

我希望它对需要解决此类问题的人有所帮助。

于 2016-02-13T12:22:38.377 回答