在我的一个表单类型中,我正在为给定实体生成一个选择小部件( Symfony 2.4 + Propel 1.7 ),我想更改值(对于选择小部件选项) slug列不是主键,它是一个基本的自动增量。我想避免使用选择类型并手动填充数据(+必须创建相应的数据转换器以获取实体)。实现这一目标的最佳方法是什么?
我想:
<!-- type1 is the slug column of the entity -->
<option value="type1">Type 1</option>
而不是:
<option value="1">Type 1</option>
答案 0 :(得分:2)
如果你看一下enitytype,你会注意到它扩展了doctrinetype。在doctrinetype中,您将看到setDefaultOptions方法,它设置选项。基本上你需要扩展entitytype并覆盖最初由doctrineType提供的setDefaultOptions方法。
老实说,在我看来,使用选择字段+数据变换器要容易一些。