我有一个表,其中一列可以为null。
在symfony中,使用生成的表单,当我将该列的字段留空时,脚本会将空字符串保存到数据库而不是null。
如何更改?
答案 0 :(得分:3)
在检查并设置表单值以执行任何操作后,您可以在表单中覆盖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()
}
答案 1 :(得分:0)
在Symfony 4中,您可以在表单字段中定义
$formBuilder->add('field_name', TextType::class, [
'required' => false, // optional
'empty_data' => '', // it mean if null -> set ''
])
答案 2 :(得分:-1)
我想你可以这样做:
if (empty($var)) $var = null;