doupang1917 2015-02-06 10:25
浏览 60
已采纳

在symfony2中映射两个字段

Is it possible to collect and map two fields from form to one property?

Details:

I have an array field in my entity:

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

where admin can specify (multi choice) custom options for the product - for example:

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

So the user should have two fields in his order form - text and number. Then I want to save them:

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

In order entity there is just array field type instead of simple_array.

User can't add new options so the collection field type isn't a good choice in my opinion. I have also tried to use data transformer but I think it can be applied only to one field.

Tell me if it's not clear. I don't need a complete solution but a hint what to choose.

  • 写回答

1条回答 默认 最新

  • duandi1636 2015-02-09 10:47
    关注

    Finally, I created two additional fields in my Entity (like DonCallisto suggested) without mapping to Database and rendered them in the form. Then instead of using DataTransforem, I used a setter with @ORM\PrePersist and @ORM\PreUpdate to set custom values together.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?