Формы Symfony: Сохранить форму, содержащую флажки и / или виджеты выбора? - PullRequest
0 голосов
/ 12 августа 2011

У меня есть таблица 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 ожидает от вас?

1 Ответ

0 голосов
/ 12 августа 2011

Ваш валидатор для публикации экземпляра sfValidatorBoolean?Если это так, он должен вернуть false.

Ваш вопрос о выборе виджетов требует более тщательной проработки.Пожалуйста, вставьте в форму configure метод, значения, которые вы получаете от $form->getValues(), и то, что вы ожидаете получить.

...