symfony2 中的两个字段映射
Two fields mapping in symfony2
是否可以收集两个字段并将其从表单映射到一个字段属性?
详情:
我的实体中有一个数组字段:
@ORM\Column(name="custom", type="simple_array")
管理员可以在其中为产品指定(多选)自定义选项 - 例如:
$product->setCustom( array('customText', 'customNumber') );
所以用户在他的订单中应该有两个字段——文本和数字。然后我想保存它们:
$order->setCustomOptions(array(
'customText' => 'Foo',
'customNumber' => '100',
));
在 order
实体中只有数组字段类型而不是 simple_array。
用户无法添加新选项,因此我认为集合字段类型不是一个好的选择。
我也尝试过使用数据转换器,但我认为它只能应用于一个领域。
如果不清楚请告诉我。我不需要完整的解决方案,但需要提示选择什么。
最后,我在我的实体中创建了两个额外的字段(如 DonCallisto 建议的那样),但没有映射到数据库并将它们呈现在表单中。然后,我没有使用 DataTransforem,而是使用 setter 与 @ORM\PrePersist
和 @ORM\PreUpdate
一起设置自定义值。
是否可以收集两个字段并将其从表单映射到一个字段属性?
详情:
我的实体中有一个数组字段:
@ORM\Column(name="custom", type="simple_array")
管理员可以在其中为产品指定(多选)自定义选项 - 例如:
$product->setCustom( array('customText', 'customNumber') );
所以用户在他的订单中应该有两个字段——文本和数字。然后我想保存它们:
$order->setCustomOptions(array(
'customText' => 'Foo',
'customNumber' => '100',
));
在 order
实体中只有数组字段类型而不是 simple_array。
用户无法添加新选项,因此我认为集合字段类型不是一个好的选择。 我也尝试过使用数据转换器,但我认为它只能应用于一个领域。
如果不清楚请告诉我。我不需要完整的解决方案,但需要提示选择什么。
最后,我在我的实体中创建了两个额外的字段(如 DonCallisto 建议的那样),但没有映射到数据库并将它们呈现在表单中。然后,我没有使用 DataTransforem,而是使用 setter 与 @ORM\PrePersist
和 @ORM\PreUpdate
一起设置自定义值。