CakePHP 3.x传递路由GET参数名称到Controller

时间:2017-07-25 03:30:06

标签: php cakephp controller routing cakephp-3.0

我正在尝试使用路径中占位符的名称访问config/routes.php中定义的GET变量。

在下面的示例中,我尝试在控制器中将:school_id =设置为$id

路线代码config/routes.php

Router::connect('/schools/:school_id/students', [
    'controller' => 'Schools',
    'action'=> 'index'
]);

控制器代码src/Controller/SchoolsController.php

public function index(){
        $id = $this->request->params['pass']['school_id'];
};

在这种情况下,$this->request->params['pass']['school_id'];未设置。如果我改为写:school_id$this->request->params['pass'][0];值会显示。

有没有办法使用它的:school_id而不是0访问应该在{{1}}点的网址值?换句话说,我可以使用我在routes.php文件中定义的命名密钥来引用它吗?

1 个答案:

答案 0 :(得分:0)

您可以使用此语法获取参数。

$this->request->getParam();