是否可以在 CakePHP 中的 app_controller.php 上执行 aftersave()?

Posted

技术标签:

【中文标题】是否可以在 CakePHP 中的 app_controller.php 上执行 aftersave()?【英文标题】:Is it possible to do an aftersave() on an app_controller.php in CakePHP? 【发布时间】:2010-12-21 23:34:09 【问题描述】:

我想在 app_controller 上检测到这个以供全局使用,所以我不会在每个控制器或模型上重做它。

谢谢, S

【问题讨论】:

你希望控制器在保存后做什么? 【参考方案1】:

首先afterSave() 是蛋糕模型类的函数不是控制器。所以推荐的解决方案是定义一个通用的/app/app_model.php

// app/app_model.php
class AppModel extends Model 

    function afterSave($created) 
         if($created) 
                 // do clean up after insert
          else  
                 // do clean up after update
         
    

在你的模型类中

// app/models/user.php
class UserModel extends AppModel // <- its extending AppModel

这将由$this-&gt;ModelName-&gt;save()的所有请求执行

【讨论】:

“插入”和“更新”:当“更新”和“插入”这两个词还不够时! :)

以上是关于是否可以在 CakePHP 中的 app_controller.php 上执行 aftersave()?的主要内容,如果未能解决你的问题,请参考以下文章

在加载页面 cakephp 时检查字段天气是不是过期

Cakephp - 条件保存

CakePHP 业务逻辑层

Cakephp 3测试:如何从数据库加载记录?

在 cakephp 中的单选按钮旁边添加图像

CakePHP 的动态标题行