【问题标题】:CakePHP 2.9.7 Model::beforeSave()CakePHP 2.9.7 模型::beforeSave()
【发布时间】:2017-05-26 06:05:13
【问题描述】:

是否有可能知道在Save()之前将执行哪种查询(INSERT,UPDATE,DELETE),因为存在只能更新的用户和只能插入的其他用户等等

【问题讨论】:

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


    【解决方案1】:

    要区分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);
    }
    

    【讨论】:

    • 谢谢@drmonkeyninja。我完全忘记了 beforeDelete()
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多