如何在Symfony2中更改实体类型的ID?

时间:2014-02-04 10:18:42

标签: forms symfony propel

在我的一个表单类型中,我正在为给定实体生成一个选择小部件( 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>

1 个答案:

答案 0 :(得分:2)

如果你看一下enitytype,你会注意到它扩展了doctrinetype。在doctrinetype中,您将看到setDefaultOptions方法,它设置选项。基本上你需要扩展entitytype并覆盖最初由doctrineType提供的setDefaultOptions方法。

老实说,在我看来,使用选择字段+数据变换器要容易一些。