2014-02-04 4 views
0

В одном из моих типов формы я генерирую виджет выбора для данного объекта (Symfony 2.4 + Propel 1.7), я хотел бы изменить значение (для опций выбора виджета) для столбца slug, а не первичный ключ, который является основным автоматическим приращением. Я бы хотел избежать использования типа выбора и вручную заполнить данные (+ создать соответствующий трансформатор данных для получения объекта). Каков наилучший способ достичь этого?Как изменить идентификатор типа Entity в Symfony2?

Я хотел бы:

<!-- type1 is the slug column of the entity --> 
<option value="type1">Type 1</option> 

Вместо:

<option value="1">Type 1</option> 

ответ

2

, если смотреть на enitytype, вы заметите, что он расширяет doctrinetype. в doctrinetype вы увидите метод setDefaultOptions, где он задает выбор. в основном вам нужно будет расширить тип entitytype и переопределить метод setDefaultOptions, который первоначально предоставляется doctrineType.

честно, хотя, на мой взгляд, немного проще использовать поле выбора + datatransformer.

+0

Это не доктрина, а Propel, но я полагаю, что это может быть такое же решение. Я должен попробовать. – COil

Смежные вопросы