cakephp:检查模型中的控制器动作(beforeSave)

时间:2012-01-29 14:32:53

标签: cakephp-2.0

是否有一种简单的方法可以检查模型在控制器中使用哪种操作来访问beforeSave()函数?

如果通过编辑调用beforeSave(),我希望有另一种行为。如果它是由add调用的话。

作为一种解决方法,我在表单中使用了隐藏字段,但我认为这不是最有效的方法。

非常感谢。

3 个答案:

答案 0 :(得分:1)

您可以随时使用$this->params['controller']$this->params['action']

答案 1 :(得分:0)

我不知道我是否理解正确。

function beforeSave() {
  if (!$this->id && !isset($this->data[$this->alias][$this->primaryKey])) {
    // insert
  } else {
    // edit
  }
  return true;
}

答案 2 :(得分:0)

我在google搜索时在stackoverflow上找到了这个:

<强>路由器:: getParams()方法

模型中的输出将是:

array(5) {
  ["plugin"]=>
  NULL
  ["controller"]=>
  string(12) "cashflowrows"
  ["action"]=>
  string(5) "chart"
  ["named"]=>
  array(0) {
  }
  ["pass"]=>
  array(0) {
  }
}
相关问题