我继续构建我的 CakePHP 应用程序。现在我已经在 MySQL 中创建了所有的数据库模式,运行了一些“cake bake all”,我有很多模型、视图和控制器,我要对它们进行个性化。
在我的许多模型中,我都有以下字段:
- company_id
- 由...制作
- 修改者
正如你所理解的,第一个字段是“行”的所有者的 id,created_by 是创建行的 id,modified_by 是最新更新它的人。
我知道我可以在模型中创建一个 beforeSave 过滤器并更新所有数据(我想我可以知道我是在创建还是更新一行,不是吗?),但现在我有 15 个不同的模型,我希望应用程序会增长更多,所以要编写很多重复的代码。而且,它打破了 DRY 原则。
我的问题是:有什么“优雅”的方法来解决这个问题吗?也许创建一个扩展 AppModel 的类,使用 beforeSave 过滤器来更新字段,并且我的所有模型都继承自新的 Model 类而不是 AppModel?
谢谢你的帮助!