Имам таблица и една от колоните може да е нулева.
В symfony, с генерирана форма, когато оставя полето за тази колона празно, скриптът записва в базата данни празен низ вместо нула.
Как да го промените?
Имам таблица и една от колоните може да е нулева.
В symfony, с генерирана форма, когато оставя полето за тази колона празно, скриптът записва в базата данни празен низ вместо нула.
Как да го промените?
Можете да замените функцията 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()
}
В Symfony 4 можете да дефинирате във вашето поле на формуляр
$formBuilder->add('field_name', TextType::class, [
'required' => false, // optional
'empty_data' => '', // it mean if null -> set ''
])
Предполагам, че бихте могли да направите нещо подобно:if (empty($var)) $var = null;