cakePHP3:如何通过redirect()向参数发送参数?

时间:2014-11-20 17:34:48

标签: cakephp cakephp-3.0

在动作中,我想通过重定向将发送参数发送到另一个动作。

所以当我在文档(http://book.cakephp.org/3.0/en/controllers.html#redirecting-to-other-pages)中阅读时:

return $this->redirect(['action' => 'edit', $id]);

我写道:

public function activate($user_id, $token) {

    //.... of course $user->username is not null here
    return $this->redirect(['action' => 'login', $user->username]);

    //....
}

在我的目标行动中:

public function login($username = null) {

    //...

    debug($username);  // just displays null

    //...
}

我不明白问题是在redirect()还是在login()中。无论如何调试($ this-> request)不显示任何传递的参数。

此致

1 个答案:

答案 0 :(得分:5)

以上代码仅在登录功能位于同一控制器且您不需要返回时才有效。 否则我们需要为重定向定义控制器。喜欢:

$this->redirect(['controller'=>'YourController','action' => 'login', $user->username]);