Я пытаюсь установить значения по умолчанию для формы в symfony, но, похоже, это не работает. Форма сопоставляется с сущностью.
Я знаю, что если вы установите значение в сущности, то это будет значение по умолчанию, но в моем случае объект расширяет другой класс (сопоставленный суперкласс), и мое поле находится в этом классе.
/** @ORM\MappedSuperclass */
abstract class BaseEntity implements CustomEntityInterface
{
protected $choiceField = 30;
[ getters, setters, ... ]
}
class MyEntity extends BaseEntity
{
[other attributes, getters, setters, ...]
}
Для параметра выбораField должно быть значение по умолчанию 30, но это не так. (Это поле выбора в течение минут и оно заполняется значениями от 5 до 60 с шагом 5)
Я знаю, что я мог бы переопределить $this-> choiceField в MyEntity, но мне это кажется неправильным. Есть ли другое решение?
Спасибо, Стев
Я думаю, вы имеете в виду:
abstract class BaseEntity implements CustomEntityInterface
{
protected $choiceField = 30;
}
?
Форма значения по умолчанию Формы Symfony2 могут быть просто заданы при создании формы:
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('choiceField', 'text', array(
'label' => 'Field',
'data' => 'Default value'
))
// ...
;
}
а также с установкой значения свойства объекта.