我正在为我的项目使用 Yii 框架;
成功插入数据库后,我正在使用重定向页面到另一个控制器
$this->redirect($this->createUrl('controller/action'));
在重定向期间可以传递任何参数,就像在渲染中一样,
$this->render('selectRefiner', array('param' => $data)
试试这个:
Yii::$app->response->redirect(['site/dashboard','id' => 1, 'var1' => 'test']);
您只能在 Yii 2 中传递 GET 参数redirect()
。但是,我有类似的情况,我通过使用 Session 存储解决了它。
当然,您可以通过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
。
更多信息请参考官方类文档。
使用已经具有此功能的所有参数重定向到相同的操作对我有用。
$this->redirect($_PHP['SELF']);