我在控制器中创建了一个ajax动作,以便在我的帖子中保存特定数据。 我不需要渲染视图。
我的jquery脚本正在执行以下操作
$("#buttonExtend<?php echo $this->post_row;?>").click(function(e){
$.ajax({
type: "POST",
url: "<?php echo Yii::app()->createUrl('post/extend', array('id' => $data['id'])); ?>",
});
});
我的动作扩展包含以下内容
protected function actionExtend($id)
{
$model=$this->loadModel($id);
if(Yii::app()->request->isAjaxRequest) {
$model->toDate = '10/10/2013';
$model->save();
}
}
当我在mysql中检查记录时,to_date字段未填充。
即使在模型中我的beforevalidate函数中更新的更新字段也会更新。
我的错误在哪里?
感谢您的帮助
答案 0 :(得分:0)
我认为您应该检查数据库表中字段'to_date'的数据类型。
如果是日期时间时间,则需要以格式指定日期时间,例如:'2014-02-04 19:39:12'。 < / p>
还尝试在model-&gt; save()(print_r($ model-&gt; attributes))之后打印模型属性。
这可能会对你有帮助。
感谢。
答案 1 :(得分:0)
您应该检查您的模型是否保存。 替换:
$model->save();
使用:
if(!$model->save()){
var_dump($model->errors);
exit();
}
如果没有,上面的代码将打印原因。 (它可能会在您的Ajax响应中打印出来。)
如果这不能解决您的问题,您可以检查模型的验证规则和数据库数据类型。