Значение формы Symfony по умолчанию из расширенного класса

0

Я пытаюсь установить значения по умолчанию для формы в 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, но мне это кажется неправильным. Есть ли другое решение?

Спасибо, Стев

Теги:

1 ответ

0

Я думаю, вы имеете в виду:

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'
        ))
        // ...
    ;
}

а также с установкой значения свойства объекта.

  • 0
    Извините за плохое копирование из IDE :),
  • 0
    Если я устанавливаю значение в BaseEntity, оно не использует его в форме. И мне любопытно, можно ли установить это значение только в одном месте, предпочтительно в BaseEntity.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню