Symfony: сохранить пустую строку вместо пустой - PullRequest
2 голосов
/ 06 января 2012

У меня есть таблица, и один из столбцов может быть нулевым.

В symfony с сгенерированной формой, когда я оставляю поле для этого столбца пустым, скрипт сохраняет в базе данных пустую строку вместо нуля.

Как это изменить?

Ответы [ 3 ]

3 голосов
/ 06 января 2012

Вы можете переопределить функцию doSave () в вашей форме после того, как вы проверите и установите значение формы, чтобы делать все, что вы хотите.

  protected function doSave($con = null) {

    if ($this->getValue('myFormValue') == '') {  // do whatever test you want to determine if the variable should be null
        $this->setMyFormValue(null);  // if it is, set it null
        } 
    parent::doSave($con);  // continue with the parent save()
    }
0 голосов
/ 21 апреля 2019

В Symfony 4 вы можете определить в поле формы

$formBuilder->add('field_name', TextType::class, [
  'required' => false, // optional
  'empty_data' => '', // it mean if null -> set ''
])
0 голосов
/ 06 января 2012

Я думаю, вы могли бы сделать что-то вроде этого:
if (empty($var)) $var = null;

...