我阅读了关于“一个模型/控制器的两个数据库”的各种问答,我发现了许多针对特定情况的解决方案(例如http://goo.gl/EP8BB),但我想知道是否必须将一个应用程序连接到两个数据库这既困难又费时。
我的意思是,我有两个数据库(相同的结构,不同的数据),但我只想使用一个 CakePHP 1.3 应用程序。我将如何选择连接到哪个数据库?很简单,查看 SERVER_NAME。
我的 database.php 文件中有两个数据库。为什么不能在模型中设置类似的东西?
**MyModel.php**
-----------
class MyModel extends AppModel {
if ($_SERVER['SERVER_NAME' == "app1") {
var $useDbConfig = "database1";
} else if ($_SERVER['SERVER_NAME' == "app1") {
var $useDbConfig = "database2";
}
}
这个“快速解决方案”是幼稚和愚蠢的吗?它看起来很容易处理(部分原因是我还不能让它工作),而不是编写无穷无尽的组件和设置数据源等。