2011-11-05 42 views
0

我在這裏有一個問題。我有一個運行在symfony 1.0上的網站。我使用symfony管理生成器工具來生成一個界面來編輯數據庫中的信息。在編輯頁面上,我有一些需要整數值的文本區域保存在數據庫中。我遇到的問題是,如果我沒有在需要整數數字的文本字段中輸入任何內容並點擊保存,ZERO的值將保存在數據庫中(而不是空值)。請記住,在數據庫的結構中,整數保存的列的類型是INT(11)DEFAULT NULL。所以,如果我不輸入任何內容,通常應該保存NULL。無法保存INT類型的空值(php,symfony)

有什麼想法可能會出錯?

+0

看看你的schema.yml文件,並檢查表的行爲。儘管默認情況下你的數據庫結構允許爲'null',但你的ORM可能不會,並將其設置爲0. –

回答

5

是的,表單字段總是字符串。因此,當您提交它們而沒有輸入任何內容時,實際上您正在提交''(一個空字符串),並將其轉換爲0.您應該包含一個簡單條件以確保輸入不爲空,並且如果有輸入,請採取適當的操作。

if (empty($_POST['input'])) { $variable_to_pass = null; } 
+0

或者改爲將類型更改爲字符串 –

相關問題