一、 在控制器中,接受表单数据


测试提交的数据

function actionAdd(){
    $goods_model = new Goods();
    // 输出提交的数据
    echo "<pre>";
    print_r($_POST);
    echo "</pre>"
    $this->renderPartial('add',array('goods_model'=>$goods_model));
}


输出的结果为一个二维数组。


二、收集提交的数据,调用save()方法保存数据


function actionAdd(){
  $goods_model = new Goods();
  //判断数据是否提交
  //$_POST['Goods'],其中Goods下标的好处就是可以在该控制器中接受多个数据
  if(isset($_POST['Goods'])){
    //将表单传递过来的数据,赋给Goods模型
    $goods_model->goods_name = $_POST['Goods']['goods_name'];
    ....
    $goods_model->goods_create_time = time();
  }
  if ($goods_model->save()) echo 'success';
  $this->renderPartial('add',array('goods_model'=>$goods_model));
}



三、代码完善


function actionAdd(){
  $goods_model = new Goods();
  if(isset($_POST['Goods'])){
    /*
    foreach($_POST['Goods'] as $k => $v){
      $goods_model->$k = $v;
    }
   */
   // yii 框架中集成了优化 foreach 的代码
   $goods_model -> attributes = $_POST['Goods'];
    $goods_model->goods_create_time = time();
    //实现数据添加,成功后重定向
    if ($goods_model->save())
      $this->redirect(./index.php?r=houtai/goods/show);
  }
  $this->renderPartial('add',array('goods_model'=>$goods_model));
}