我正在为我的项目使用Yii框架;
我在使用
将数据库插入另一个控制器成功后重定向页面$这 - >重定向($这 - > createUrl( '控制器/动作'));
在重定向期间,可以像渲染一样传递任何参数,
$ this-> render('selectRefiner',array('param'=> $ data)
答案 0 :(得分:57)
尝试:
$this->redirect(array('controller/action', 'param1'=>'value1', 'param2'=>'value2',...))
答案 1 :(得分:2)
试试这个:
Yii::$app->response->redirect(['site/dashboard','id' => 1, 'var1' => 'test']);
答案 2 :(得分:2)
您只能在Yii 2 redirect()
中传递GET参数。但是,我有类似的情况,我通过使用会话存储解决了它。
当然,您可以通过Yii::$app->session
访问当前会话。以下是在两个单独的控制器操作中使用它的示例:
public function actionOne() {
// Check if the Session is Open, and Open it if it isn't Open already
if (!Yii::$app->session->getIsActive()) {
Yii::$app->session->open();
}
Yii::$app->session['someParameter'] = 'Bool/String/Array...';
Yii::$app->session->close();
$this->redirect(['site/two']);
}
public function actionTwo() {
if (isset(Yii::$app->session['someParameter']) {
$param = Yii::$app->session['someParameter'];
} else {
$param = null;
}
$this->render('two', [
'param' => $param
]);
}
现在,您应该可以在$param
视图中访问two
。
有关详细信息,请参阅官方课程文档。
答案 3 :(得分:0)
使用已经具有此功能的所有参数重定向到相同的操作。
$this->redirect($_PHP['SELF']);