如何在Yii中通过db查询从控制器传递参数

时间:2014-01-05 07:59:19

标签: php arrays yii-extensions yii

这是我的控制器::

public function actionCreateGRN($id){
            $model = new VwPurchaseordhd;
            $sql = sprintf("call sp_im_CreateGRN(%s,'%s')",
                   $id,
                   $insertuser = Yii::app()->user->name
                );
           $command  = Yii::app()->db->createCommand($sql);
           $result = $command->queryAll();

         $this->redirect(array('grndetail/create', 'id'=>$model->id, 'pp_purordnum'=>$pp_purordnum, ));
    }

在$ result中我有一个数组:: Array([0] =>数组([pp_purordnum] => PO1400000291 [vGrnNumber] => GR14007320))

我需要通过“重定向”将数组数据传递给另一个控制器/函数。它显示ERROR undefined pp_purordnum。我错过了什么。

你能帮我传递参数吗?提前致谢。

解决

控制器

        public function actionCreateGRN($id){
            $sql = sprintf("call sp_im_CreateGRN(%s,'%s')",
                   $id,
                   $insertuser = Yii::app()->user->name
                );
           $command  = Yii::app()->db->createCommand($sql);
           $result = $command->queryRow();

           $pp_purordnum = $result['pp_purordnum'];
           $vGrnNumber = $result['vGrnNumber'];

         $this->redirect(array('grndetail/create', 'pp_purordnum'=>$pp_purordnum, 'vGrnNumber'=>$vGrnNumber, ));
    }

1 个答案:

答案 0 :(得分:2)

   $sql = "call sp_im_CreateGRN(:id, :user_name)"
   $command  = Yii::app()->db->createCommand($sql);
   $result = $command->queryAll(true, array(
       ':id'=>$id, 
       ':user_name'=>Yii::app()->user->name,
   ));