4

我有一个模型,如下所述:

http://yuml.me/diagram/class/[产品]0..*-1[品牌]

我还有一个表单来创建一个新产品,其中一个字段entity构建了一个包含所有品牌的下拉列表。

现在我想在这个列表中添加一个值“Other”,以允许用户在另一个文本字段中手动指定品牌。

问题是:是否有一种干净的方法来管理这种情况(例如,在列表中添加值“Other”,这不是一个实体并让表单验证工作)与 Symfony2 表单?

4

1 回答 1

2

你可以通过两种方式

  • 您可以订阅FormEvents::BIND_CLIENT_DATA表单事件。在事件方法中,您可以 Brand从文本创建新对象,保存它并通过调用将 id 设置为表单$event->setData($data)。请参阅食谱条目。

或者

  • 您可以附加数据转换器。在其reverseTransform方法中,您可以创建+保存对象并返回其 ID。请参阅食谱条目。
于 2012-05-29T14:03:52.770 回答