【发布时间】:2013-10-13 23:31:33
【问题描述】:
我决定在一些模型的 beforeSave 中添加一些关于控制器和动作的额外数据,如下所示:
//in the model
public function beforeSave() {
$this->data[$this->alias]['path'] = 'blah blan';
debug($this->params);
die(); //for debugging!
}
debug打印返回null!我使用的模型是 cmets 插件的 Comment 模型。我需要访问 params 来获取当前的控制器、动作和一些 url 参数。
确实,我打算将 cmets 插件列出 cmets 的方式从基于模型的方式更改为基于路径的方式,以解决需要多个动作的 cmets 依赖于同一模型的问题。
【问题讨论】:
-
这可能是无法在
$this->data回调中使用$this->data的情况。您是否尝试在模型的另一部分(或在控制器/视图中)使用它来查看您的数据是否存在? -
@scrowler 是的,它在控制器中工作并返回一个数组。
-
如果它在控制器中工作,那么问题是什么?
-
我需要它在模型中工作。
-
设置一个模型变量 -
var $path;然后在beforeSave添加$this->path = 'blah blan';- 并在模型内部使用它,从外部使用$this->params
标签: php cakephp cakephp-model cakephp-2.4