我正在和 Yii 一起做一个项目。我目前正在后端工作。我正在控制器中实现一个函数,该函数应该加载模型,更改数据库中的值(从 0 变为 1 的 tinyint),然后重定向到另一个 url。我想以与使用 CRUD 生成器生成的“删除”函数相同的方式使用此函数。因此,在“删除”功能上启发了自己,我正在尝试将这个用于“接受”功能:
public function actionAccept($id) {
if(Yii::app()->request->isPostRequest)
{
$model = $this->loadModel($id);
$model->testimonial_accepted = '1';
$model->save();
// if AJAX request we should not redirect the browser
if(!isset($_GET['ajax']))
$this->redirect(isset($_POST['returnUrl']) ? $_POST['returnUrl'] : array('admin'));
}
else
throw new CHttpException(400,'Invalid request. Please do not repeat this request again.');
}
我在视图中调用“接受”函数,如下所示:
array('label'=>'Accept Client', 'url'=>'#', 'linkOptions'=>array('submit'=>array('accept','id'=>$model->id),'confirm'=>'Are you sure you want to accept this item?')),
运行时,没有错误。它加载了正确的模型,但不会更改数据库中的值(testimonial_accepted)。你知道为什么吗?我究竟做错了什么?
提前致谢,
苏皮里奥斯。