У меня есть таблица Doctrine, которая содержит следующие поля:
Article:
columns:
title:
type: string(40)
content:
type: string(255)
publish:
type: boolean
Я создаю настраиваемую форму для создания статей на моем сайте.В моей пользовательской форме у меня есть флажок для поля publish
.Если при отправке формы установлен флажок, значение формы для нее возвращается как «вкл».Если флажок НЕ установлен, значение формы не существует.
Поскольку я работаю с формой, которая расширяет модельные формы Doctrine, я хотел бы иметь возможность просто выполнить $this->form->save();
, когдаон проходит валидность.
Но если флажок для publish
дает только значение on
или ничего, то ни одно из значений не является действительным для базы данных.Форма сохраняется правильно, но значение базы данных для publish
всегда просто по умолчанию, независимо от того, установлен флажок или нет.
Каков правильный подход к этой проблеме?
Кроме того, какВы имеете дело с выбором sfWidgets?Переданные значения являются массивом значений.$this->form-save()
, кажется, игнорирует эти массивы.
Нужно ли вам вручную получать значения из формы и создавать коллекцию Doctrine из значений и сохранять ее таким образом?Или есть лучший метод, который Symfony ожидает от вас?