我正在尝试更新整个表单,因此尝试使用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();
}
如何更新所有表单字段?
答案 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();