如何在Symfony2中的表单提交上创建和分配实体

时间:2013-09-20 20:45:18

标签: php symfony doctrine entity formbuilder

我是Symfony2的新手,但到目前为止还玩得很开心。我正在尝试根据销售代表提供的输入设计一个可以为我们生成合同的工具。销售代表将在表单上选择服务,然后输入协商价格。

我有三种类型的实体。

Contracts (id, name)
ContractService(contract_id, service_id, adjustedPrice)
Service(id, name)

我使用entity类型构建表单服务字段,以创建包含所有可能服务的下拉列表/选择。但是,在提交表单时出现错误,因为Contract-> setService需要ContractService实体,但表单返回Service类型。

所以我创建了一个prePersist条件的监听器,它执行一个接受Service实体和Contract实体的方法,并返回一个ContractService实体。

我相信在这一点上我需要以某种方式将新创建的ContractService交换为表单返回的Service实体,但我不知道该怎么做。看起来似乎还有更好的方法可以解决这个问题。任何帮助表示赞赏,如果您需要代码示例或任何其他信息,请告诉我。

0 个答案:

没有答案