我想使用CController::forward()而不是重定向或实例化控制器并直接调用操作,因为这样NSImage
正确地显示了最终运行的操作。
虽然我在文档中没有看到如何指定要传递给转发操作的参数,因为Yii::app()->controller->action->id
参数是字符串,而不是数组。
$route
otherController.php:
public function actionIndex() {
$this->forward('/otherCtrl/view'); // how to pass a parameter here?
答案 0 :(得分:0)
注入到操作方法中的参数来自$_GET
。因此,如果您需要将$id
传递到转发的操作中,则需要在$_GET
数组中设置值:
$_GET['id'] = 'some id';
但是使用forward()
基本上总是表示应用程序设计不良-我建议将共享逻辑提取到单独的方法/组件中,并避免使用forward()
或直接调用控制器操作。
答案 1 :(得分:-1)
您可以尝试:
$this->forward('/otherCtrl/view/id/'.$id);
查询字符串取决于您的URL设置。