在symfony2中映射两个字段

时间:2015-02-06 10:25:47

标签: php symfony doctrine-orm mapping

是否可以从表单收集并映射两个字段到一个属性?

详细信息:

我的实体中有一个数组字段:

@ORM\Column(name="custom", type="simple_array")

admin可以为产品指定(多选)自定义选项 - 例如:

$product->setCustom( array('customText', 'customNumber') );

因此,用户的订单中应该有两个字段 - 文本和数字。然后我想保存它们:

$order->setCustomOptions(array(
    'customText' => 'Foo',
    'customNumber' => '100',
    ));

order实体中,只有数组字段类型而不是simple_array。

用户无法添加新选项,因此我认为收集字段类型不是一个不错的选择。 我也尝试使用数据转换器,但我认为它只能应用于一个字段。

告诉我它是否不清楚。我不需要一个完整的解决方案,但需要提示选择什么。

1 个答案:

答案 0 :(得分:0)

最后,我在我的实体中创建了两个额外的字段(如DonCallisto建议的那样),而没有映射到数据库并在表单中呈现它们。然后,我使用了@ORM\PrePersist@ORM\PreUpdate的setter来代替使用DataTransforem来设置自定义值。