在新的 CakePHP 应用程序中使用旧数据库模式的最佳方法是什么?



目前我有一个在没有任何框架的情况下运行的PHP应用程序。

出于几个原因,我想使用 CakePHP 框架重建该应用程序。但是,此应用程序具有不符合Cake惯例的旧数据库方案(甚至不是英文)。

我想逐个重建此应用程序,并继续对尚未迁移的部分使用旧应用程序,因此我无法进行任何真正的架构更改。

是否可以在新方案和旧方案之间创建某种代理路由?因此,这在 Cake 中不可能像我想要的那样工作(例如模型"用户"中的字段"user_name"),但在后台仍然使用旧的数据库方案(例如表"gebruikers"中的"naam")。

CakePHP 2.X中没有您想要的Model行为的代理。

不过,您可以通过添加一些模型设置来遵循最重要的 CakePHP 约定来构建您的应用程序:

  • 您可以使用$useTable属性 (docs) 指定每个模型使用的表
  • 如果primaryKey不等于 id,则可以指定 (文档)
  • 您可以使用自定义foreignKey来设置两个模型之间的关系(在此处查看此答案,其中包含一个很好的解释)

这应该可以帮助您入门,并将表字段名称更改留待以后使用。

模型属性和关联的官方文档

最新更新