Невозможно отключить поле сущности и сохранить его значение
В событии формы, установка поля'attr' => array('readonly' => 'readonly')
отображается как"disabled" = "1"
, Это не желаемый эффект. Отключенное поле выбора сохраняет нулевое значение при отправке. Поле только для чтения должно сохранять и сохранять отображаемое значение. Или я так думал. Итак, как получить значение, чтобы остаться неизменным и неизменным?
Редактировать;
Скрытое поле не помогает.choice_attr
тоже не помогает.
Я голосую, чтобы закрыть этот вопрос. Я не обнаружил никакого метода для отображения отключенного поля сущности, а также для сохранения значения. Если у вас есть идеи, как это сделать ...
Пример (в Symfony 2.8.3): сущность «Домохозяйство» имеет шесть атрибутов, каждый из которых является объектом в отношении OneToMany к «Домохозяйству». (Приложение имеет другие объекты, которые имеют аналогичные атрибуты.) Объект / атрибут Housing объекта Household имеет два свойства: жилье и включено. Клиент приложения может установить свойство вenabled = no
если они больше не собираются отслеживать это свойство.
Если свойство установлено наenabled = no
его доступность в новой или редактируемой форме домохозяйства легко устраняется включением предложения where в построитель запросов поля сущностей, например,->where("h.enabled=1")
, Однако это приводит к тому, что для свойства disabled установлено значениеnull
, Таким образом, необходимость сохранения стоимости как-то.
Идеальным решением была бы служба для этих полей сущности атрибута, которая и отображала бы значения, и сохраняла бы, если включено - нет.
Я пытался использовать прослушиватель событий, скрытое поле,choice_attr
, изменение шаблона формы и темы формы все безрезультатно. Например, скрытое поле - это текст, когда поле сущности является обязательным. Это не значит, что это невозможно, только то, что я не наткнулся на правильный метод.