Php 将变量从控制器传递到另一个控制器,依此类推
我试图将一个变量从一个控制器传递到另一个控制器,所以这个控制器将呈现一个视图,该视图将呈现另一个视图的一部分,我将给出代码 控制器1:Php 将变量从控制器传递到另一个控制器,依此类推,php,yii,controller,Php,Yii,Controller,我试图将一个变量从一个控制器传递到另一个控制器,所以这个控制器将呈现一个视图,该视图将呈现另一个视图的一部分,我将给出代码 控制器1: public function actionView($id) { $pet=new Peticion; $this->performAjaxValidation($pet); if(isset($_POST['Peticion'])) { $pet->attributes=$_POST['Petic
public function actionView($id)
{
$pet=new Peticion;
$this->performAjaxValidation($pet);
if(isset($_POST['Peticion']))
{
$pet->attributes=$_POST['Peticion'];
if($pet->save())
$this->redirect(array('parametro/create', 'pest'=>$pet->id));
}
$this->render('view',array(
'model'=>$this->loadModel($id), 'pet'=>$pet
));
}
控制器2:
public function actionCreate()
{
$model=new Parametro;
$variable = file_get_contents('protected\column.txt');
$vars = explode(' ', $variable);
// make SURE that you are getting $vars as array
if(isset($_POST['Parametro']))
{
$model->attributes=$_POST['Parametro'];
if(isset($_POST['createCheck']))
{
$newVar=array();
$checkVariables=$_POST['createCheck'];
foreach($checkVariables as $key)
{
$newVar[]=$vars[$key];
}
if(!empty($newVar))
{
foreach($newVar as $saveIt)
{
$model->$saveIt=1;
}
$model->save();
echo 'saved';
}
}
$this->redirect(array('view','id'=>$model->id));
}
if(isset($pest))
throw new CHttpException('var exists');
$this->render('create',array(
'model'=>$model,
'variable'=>$vars,
));
}
我试图传递var$pest,我发出了一个throw-CHttp消息来查看var是否被传递,但是它不是,有人看到我是否做得不对吗?在这行中
$this->redirect(array('parametro/create', 'pest'=>$pet->id));
您正试图将pest参数传递给actionCreate,但尚未在actionCreate中将pest声明为参数。所以你需要这样做
public function actionCreate($pest)
{
// you can use $pest now
// your code
}
注意:-现在,如果您尝试调用此actionCreate而不传递$pest参数,则它将抛出异常