繁体   English   中英

Symfony 2.8 Easyadmin DataTransformer for enum(yes,no)字段表示形式中的布尔值

[英]Symfony 2.8 Easyadmin DataTransformer for enum(yes, no) fields to represent boolean in forms

我使用easyadmin来生成后端需求。我非常喜欢在列表视图中使用nice off / off ui功能来控制布尔值。

但我不使用布尔值作为tinyint(1) 1 or 0 ,我用作ENUM('yes', 'no') 所以在symfony表单中,我使用DataTransformer在发送到视图时将yes to 1转换yes to 1 ,在发送到模型时将1 to yes 但是我找不到任何相关文档如何在easyadmin中使用数据转换器或事件监听器。 我看到easyadmin中存在多个调度和事件。

活动

您是否知道我最好如何添加dataTransformer或事件监听器?

任何帮助,将不胜感激。

我找到了另一个解决问题的解决方案,无需Dat​​aTransformers或Listener。 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: config看起来如下

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

我希望对需要解决这个问题的人有所帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM