2

我决定在一些模型 beforeSave 中添加一些关于控制器和操作的额外数据,如下所示:

//in the model
public function beforeSave() {
        $this->data[$this->alias]['path'] = 'blah blan';
        debug($this->params);
        die(); //for debugging!
}

调试的打印输出返回null!我使用的模型是评论插件的评论模型。我需要访问参数以获取当前控制器、操作和一些 url 参数。

实际上,我计划将评论插件列出基于模型的评论的方式更改为基于路径的方式,以解决多个操作的评论需要依赖于同一模型的问题。

4

1 回答 1

4

最后我找到了解决方案:它在Router对象方法中getParams()

//in the model
public function beforeSave() {
        $this->data[$this->alias]['path'] = 'blah blan';
        debug(Router::getParams());
        die(); //for debugging!
}

它打印出如下内容:

array(
    'plugin' => null,
    'controller' => 'qurans',
    'action' => 'view',
    'named' => array(
        'comment' => '0'
    ),
    'pass' => array(
        (int) 0 => '8'
    )
)
于 2013-10-14T01:07:39.577 回答