简体   繁体   English

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

[英]How to pass parameter from a controller by db query in Yii

Here is my controller:: 这是我的控制器::

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

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

I need to pass array data via "redirect" to another controller/function. 我需要通过“重定向”将数组数据传递给另一个控制器/函数。 It's showing ERROR undefined pp_purordnum. 它显示ERROR undefined pp_purordnum。 I am missing something. 我错过了什么。

Could you please help me to pass parameter what I have in array ? 你能帮我把数据中的参数传递给我吗? Thanks in Advance. 提前致谢。

SOLVED 解决了

Controller 调节器

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM