解决 yii oracle date 类型 默认值 bug

主要问题出在yii对这种类型的读取和保存都有异常,会丢失时间.

解决方式

一、设置当前会话的日期格式,在beforeSave里调用

 alter session set nls_date_format = 'yyyy-mm-dd hh24:mi:ss'

二、ar保存时,使用

			if(isset($this->create_time)) 
				$this->create_time=new CDbExpression('create_time');

误区

因为时间格式默认不同于 Y-m-d H:i:s 所以bindValue时,oci当成了字符串。。。哥绕了一圈去修改框架,血的教训啊。。我擦。。。

当格式统一后,bindValue 就保持有效了。可以不使用方式二那种蹩脚的处理方式

发表评论

电子邮件地址不会被公开。 必填项已用*标注