我爲我的項目使用Yii框架;如何在yii中重定向參數
我在數據庫到另一個控制器插入成功後使用重定向頁面
$這個 - >重定向($這個 - > createUrl( '控制器/動作'));
在重定向是能夠傳遞任何參數就像在渲染,
$這 - >渲染( 'selectRefiner',陣列( 'PARAM'=> $數據)
我爲我的項目使用Yii框架;如何在yii中重定向參數
我在數據庫到另一個控制器插入成功後使用重定向頁面
$這個 - >重定向($這個 - > createUrl( '控制器/動作'));
在重定向是能夠傳遞任何參數就像在渲染,
$這 - >渲染( 'selectRefiner',陣列( 'PARAM'=> $數據)
嘗試:
$this->redirect(array('controller/action', 'param1'=>'value1', 'param2'=>'value2',...))
如果你能解釋如何在被調用的行爲中獲得這個值,那將是非常好的嗎?謝謝。 – Varundroid
您可以從 - $ _REQUEST或$ _GET中獲取實際值。 – Rishabh
...或者如果你在調用函數的參數上輸入它們 - 就像這個公共函數actionAction($ param1,$ param2,...) –
試試這個:
Yii::$app->response->redirect(['site/dashboard','id' => 1, 'var1' => 'test']);
添加一些解釋和回答這個答案如何幫助OP修復當前問題 –
其實我想要重定向到另一個模型...爲當前模型的重定向頁面渲染函數罰款,但我想重定向一個模型到另一個.. –
只能通過在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
視圖中。
欲瞭解更多信息,請參閱官方的類文件。
重定向到與已經有這個作品的所有參數相同的動作。
$this->redirect($_PHP['SELF']);
我不明白爲什麼人們不參考文檔。與其他框架不同的是,yiis文檔是頂尖的。只需將它作爲數組發送,其中第一個元素是控制器操作,其餘是可作爲GET變量獲取的鍵值對。 – itachi
@itachi對我來說yii文檔不是很清楚 –