yii用loadModel更新记录

时间:2014-03-13 02:52:52

标签: php yii

我正在尝试更新整个表单,因此尝试使用yii中的属性进行大量赋值。但是得到错误

  

AcademicsController及其行为没有方法或闭包   名为“loadModel”。

这是我使用的代码

这里$ _GET ['id'] = 5和$ _POST ['courses']是数组

if(isset($_GET['id']) && isset($_POST['courses'])) {
    $course_id = $_GET['id'];
    $post = $_POST['courses'];
    $model = $this->loadModel($course_id);
        $model->save();
}

如何更新所有表单字段?

1 个答案:

答案 0 :(得分:2)

添加方法" loadModel"到AcademicsController。

 public function loadModel($id) {
    $model = Courses::model()->findByPk($id);
    if ($model === null)
        throw new CHttpException(404, 'The requested page does not exist.');
    return $model;
}

将上述方法添加到控制器将解决您的问题。但是为了更新模型,您需要将POST数据分配给模型属性。 (我假设这是一个单一的模型)

//load model
$model = $this->loadModel($course_id);
//assign form values to model
$model->attributes = $_POST['courses'];
//save the model
$model->save();