关于时间字段为null的问题

我有一个字段time_end为datetime类型,设定了默认值为null,

数据库为严格模式。

当提交表单时,这个datetime的字段,提交的内容为空,即可能为’’。

致使插入数据库出错。




INSERT INTO `ad` (`name`, `type`, `position`, `media`, `url`, `width`, `height`, `time_start`, `time_end`, `created`, `updated`, `user_id`) VALUES (:yp0, :yp1, :yp2, :yp3, :yp4, :yp5, :yp6, :yp7, :yp8, NOW(), NOW(), :yp9). Bind with parameter :yp0='http://www.yii0577.com/attachments/others/9/2010-01-09/a59a86da-2c58-94f0-9c6e-6e411fd4b43e.swf', :yp1=1, :yp2=12, :yp3='http://www.yii0577.com/attachments/others/9/2010-01-09/a59a86da-2c58-94f0-9c6e-6e411fd4b43e.swf', :yp4='http://www.yii0577.com/attachments/others/9/2010-01-09/a59a86da-2c58-94f0-9c6e-6e411fd4b43e.swf', :yp5=35, :yp6=235, :yp7='2010-01-11 10:39:36', :yp8='', :yp9=3



注意:yp8。

强哥,能不能在类似这种情况下,当提交值为’'时,自动转换为null

用头顶

beforeValidate 中判断一下呢?

当然是可以,如果为空,可以转化为null。

但是我觉得这个是很常见的问题,貌似严格模式的数据库不会自动将空’'转化为null值