过程:

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));
}