我打算在CakePHP中开发一个Web应用程序,它显示图形信息和卡。我选择了CakePHP,因为我们需要显示的信息非常结构化,所以模型方法更容易管理数据;我也有一些ASP.NET MVC的经验,我喜欢使用路由的简单性。在CakePHP中管理多个数据源
所以,我的问题是,可以使用该应用程序的多个组织将拥有自己的数据库,其中包含我们所需的不同模式。我不能只在app.php文件中设置它们的字符串连接,因为它们的数据库与我的模型不匹配。
由于很多原因,组织数据源不适合我的模型:表名不一致,模式不同,我的实体的字段在分隔表中,也许他们有不同数据库中的信息或不同的DBMS中的信息!
在这样一种方式,CakePHP的型号/实体可以使用数据,而不管源的接口。你有什么建议如何做到这一点? CakePHP有一个选项可以使这成为可能吗?我应该使用诸如JSON或XML之类的标记语言来使用PHP吗?也许MySQL有一个实用程序将不同来源的数据转换为视图,并且我可以让CakePHP使用视图而不是表格? 如果你有一个答案尽可能详细,你可以。
如果不可能制作接口,则可以使用其他选项: - Usw另一个可以处理这个问题的框架,它具有上面提到的功能。 - 让组织改变他们的数据库,以便它符合我的模型(我不喜欢这个模型,可能他们不会这样做)。 - 在应用程序自己的数据库中传输数据。
附加信息: 图形中显示的数据来自大学的学生。任何一所大学都有自己的数据库,并使用数据库自己的结构和应用程序,这就是为什么改变结构并不那么容易。我只是想尽可能简单地让任何学校配置他们自己的数据库。编辑: 版本是CakePHP 3.2。 一个重要的约会是它不需要所有的CRUD操作,只需要“阅读”。希望能让解决方案变得更容易。
请把这里https://github.com/waldemarnt/cake-multi-tenant看看使用CakePHP的2.x的,但我认为构建这可以帮助你:) –
请提及你正在使用的确切的CakePHP版本(模型/数据源层已经通过CakePHP 3发生了巨大变化),并且可以很好地标记你的问题 - 谢谢! – ndm
@ndm我加了信息,谢谢你:) –