0
使用$model->save();
后,它取消了现有的行为DateTimeI18NBehavior
。任何人都知道如何解决?行为和保存()冲突
行为DateTimeI18NBehavior:http://www.yiiframework.com/extension/i18n-datetime-behavior/
Users.php(模型):
...
public function behaviors()
{
return array(
'datetimeI18NBehavior'=>array(
'class' => 'ext.DateTimeI18NBehavior',
),
);
}
...
代码:
$criteria = new CDbCriteria;
$model = Users::model()->findByPk('1');
echo $model->birthday;
// Response: 15/10/1900 (right)
代码2:
$criteria = new CDbCriteria;
$model = Users::model()->findByPk('1');
$model->ip = Yii::app()->request->userHostAddress;
$model->save();
echo $model->birthday;
// Response: 1990-10-15 (wrong)
那是在'DateTimeI18NBehavior'的错误行为添加
afterSave()
事件处理程序。它在保存数据之前将日期时间格式设置为“Y-m-d”,并保持原样。一个快速解决的办法是在行为 – dInGd0nG 2013-02-21 06:45:02@ dInGd0nG添加'afterSave()'事件处理程序谢谢,我解决了!你可以将你的'Comment'作为'Answer'发布,所以我可以接受它。 – 2013-02-21 07:18:13
答复补充:) – dInGd0nG 2013-02-21 10:02:07