2
使用CakePHP 1.3如果沒有在表單字段中寫入任何內容,我希望爲字段保存一個0
值。最好的辦法是在MySQL中做到這一點,但沒有成功。我已經tryed設置:CakePHP保存默認的0值
Null
= no
和Default
= 0
;或Null
= yes
和Default
= 0
;
而且二者組合使用CakePHP行爲其設定組合beforeSave
或beforeValidate
:
$model->data[$name][$field] = 0;
或 unset($model->data[$name][$field]);
也:
Null
yes
=和Default
= 0
;或Null
= yes
和Default
= NULL
;
始終查詢是:
INSERT INTO `table` (`zero_field`, `other_fields`) VALUES (NULL, 'other_data')
or
INSERT INTO `table` (`zero_field`, `other_fields`) VALUES ('', 'other_data')
如果Null
= no
得到一個錯誤:Column 'zero_field' cannot be null
即使我取消設置現場我得到裏面的字段查詢。
如何在數據庫中保存0
值,如果其格式未設置或爲空?
的zero_field
是int(11)
零域添加到系統中的值是多少?那是什麼? –
你是如何檢查空的?你如何檢查NULL? –
您確實需要發佈您的Cake代碼,以便我們可以看到您如何執行保存。你可能會強迫它以一種不允許零值通過的方式進行保存。此外,如果根本沒有任何內容被保存到數據庫中,也許您的模型驗證沒有設置爲允許該字段的值爲零,因此驗證失敗並且保存從不發生。 – BadHorsie