[英]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或事件监听器?
任何帮助,将不胜感激。
我找到了另一个解决问题的解决方案,无需DataTransformers或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.