Можно ли собирать и отображать два поля из формы в одно свойство?
Детали:
У меня есть поле массива в моей сущности:
@ORM\Column(name="custom", type="simple_array")
где администратор может указать (несколько вариантов) пользовательские параметры для продукта - например:
$product->setCustom( array('customText', 'customNumber') );
Таким образом, у пользователя должно быть два поля в его форме заказа - текст и номер. Затем я хочу их сохранить:
$order->setCustomOptions(array(
'customText' => 'Foo',
'customNumber' => '100',
));
В order
сущности есть только массив типа поля вместо simple_array.
Пользователь не может добавлять новые параметры, поэтому тип поля коллекции не является хорошим выбором, на мой взгляд. Я также пытался использовать трансформатор данных, но я думаю, что он может применяться только к одному полю.
Скажи мне, если это не ясно. Мне не нужно полное решение, но подсказка, что выбрать.
Наконец, я создал два дополнительных поля в моей Entity (например, предложенный DonCallisto) без сопоставления с базой данных и отобразил их в форме. Затем вместо использования DataTransforem я использовал setter с @ORM\PrePersist
и @ORM\PreUpdate
для установки пользовательских значений вместе.