0

Doctrine1.1.4でZend1.11を使用しています。私のアプリケーションは複数のデータベースを使用しています。

bootstrap.phpファイルで、2つのデータベースの詳細を設定しました。

   $dbs = array(
        'global_users'=>array(
            'adapter' => 'mysqli',
            'params' => array(
                'host'     => 'localhost',
                'username' => 'root',
                'password' => '',
                'dbname'   => 'global_users',
                'charset'   => 'UTF8',
            ),
        ),
        'search_landscape'=>array(
            'adapter' => 'mysqli',
            'params' => array(
                'host'     => 'localhost',
                'username' => 'root',
                'password' => '',
                'dbname'   => 'search_landscape',
                'charset'   => 'UTF8',
            ),
        ),
    );

2番目のデータベースsearch_landscapeのDoctrineModelクラスを生成しました。アプリケーションでglobal_usersデータベースをまだ使用していませんが、2番目のデータベースであるsearch_landscapeでいくつかのDoctrineクエリを実行しましたが、これはこれまでのところ期待どおりに機能しています。

Doctrineクエリを実行するとき、データベースへの明示的な接続を定義していません。つまり、デフォルトの接続を使用していますが、Doctrineはどのデータベースに接続するかをどのように認識していますか?

アプリケーションで他のデータベースを使い始めると、それぞれにDoctrine接続を明示的に定義する必要があることを理解していますが、現時点では明示的な接続を定義していませんが、Doctrineはどのデータベースに接続するかを知っているようです。二つ。

ヘルプに感謝します。

4

1 に答える 1

0
Doctrine_Manager::getInstance()->getCurrentConnection();

Doctrine_Managerはシングルトンオブジェクトであり、名前を使用して他の接続をデフォルトとして設定できます。詳細については、Doctrine_ManagerAPIのドキュメントを参照してください。

于 2011-05-19T14:45:57.237 に答える