CakePHP 2.9.7 Model :: beforeSave()

时间:2017-05-26 06:05:14

标签: cakephp cakephp-2.x cakephp-2.9

是否有可能知道什么类型(INSERT,UPDATE,DELETE)将在beforeSave()之前执行,因为有用户只能更新,而其他只能插入等等

1 个答案:

答案 0 :(得分:2)

要区分INSERTUPDATE,您可以检查模型id是否已定义: -

public function beforeSave($options = array()) {
    if (! empty($this->id)) {
        // UPDATE
    } else {
        // INSERT
    }

    return parent::beforeSave($options);
}

如果要删除内容,则调用beforeDelete()而不是beforeSave()

public function beforeDelete($cascade = true) {
    // DELETE

    return parent::beforeDelete($cascade);
}