0

「1つのモデル/コントローラーに2つのデータベース」に関するさまざまなQ&Aを読み、特定のケース(http://goo.gl/EP8BBなど)に対する多くの回避策を見つけましたが、1つのアプリケーションを2つのデータベースに接続する必要があるのだろうかこれは困難で時間がかかります。

つまり、2 つのデータベース (同じ構造、異なるデータ) がありますが、1 つの CakePHP 1.3 アプリケーションだけを使用したいと考えています。どのデータベースに接続するかをどのように選択しますか? SERVER_NAME を見ると簡単です。

database.php ファイルに 2 つのデータベースがあります。モデルでこれに似たものを設定できないのはなぜですか?

**MyModel.php**
-----------
class MyModel extends AppModel {
    if ($_SERVER['SERVER_NAME' == "app1") {
        var $useDbConfig = "database1";
    } else if ($_SERVER['SERVER_NAME' == "app1") {  
        var $useDbConfig = "database2";
    }
}

この「迅速な解決策」は素朴で愚かですか?無限のコンポーネントを作成したり、データソースを設定したりするのではなく、非常に簡単に処理できるようです (私はまだそれを機能させることができないという事実の一部です)。

4

1 に答える 1

2

ifelse-Codeをモデルの__constructメソッドに配置していることを考えると(画面に表示される厄介なエラーを防ぐため)-いいえ、単純でも愚かでもありません。

私はsthを使用しました-もう少し拡張されていますが-基本的に開発構成と本番構成の切り替えに似ています。

それぞれの構成スイッチがより複雑であるか、複数のアプリケーションで使用される場合、コンポーネントは私の目には意味があります。

于 2012-11-23T13:30:06.240 に答える