0

我有一个 afterFind 函数的行为,我只想在非管理员前缀上调用它。$this->params 不起作用,因为 $this 正在引用该行为。如何根据页面或前缀使此行为有条件?

4

1 回答 1

1

您可以在控制器中分离(或禁用)行为:

function beforeFilter(){
  if($this->params['admin'])$this->Model->Behaviors->detach('Foo');
}

http://book.cakephp.org/view/1072/Using-Behaviors

或者您可以在查找中添加您自己的行为关键字(如 Containable 的“包含”)。

于 2011-08-16T19:58:21.713 回答