过程:
1. 获得被修改的数据
2. 将获得的数据呈现到表单
3. 在表单中修改内容
4. 修改完毕提交表单保存修改
实现:
1. 修改show视图模版,将修改连接中附上id值
2. 修改控制器
function actionUpdate($id){//yii框架已经封装了$_GET方法,这里url中的id值,可以直接作为方法的值使用 $goods_model = Goods:model(); // 除了添加我们都使用Goods:model()来实例化模型 // 根据ID获取商品信息,$goods_info是一个数据模型对像 $goods_info = $goods_model -> findByPk($id); // 将$goods_info 传递到视图模版 $this->renderPartial('update',array('goods_model'=>$goods_info)); }
3. 修改updata视图,完善表单,参考add视图。
使用widget创建的表单,会自动关联goods_model中的信息。
4. >
function actionUpdate($id){ $goods_model = Goods:model(); $goods_info = $goods_model -> findByPk($id); // 创建模型对象使用 new Goods(); save()时执行insert语句 // 创建模型对象使用 Goods:model(); save()时执行update语句 // 修改商品信息 if (isset($_POST['Goods'])){ foreach ($_POST['Goods'] as $k => $v){ $goods_info->$k = $v; } if($goods_info->save()) $this->redirect(......); } // $this->renderPartial('update',array('goods_model'=>$goods_info)); }