sql >> データベース >  >> RDS >> Mysql

Laravel5.2で同時に多くのデータベースに接続する

    はじめに-2つの接続

    2つの接続が必要であると仮定します:デフォルト およびカスタマイズconfig/database.phpで構成を指定します いつものように、あなたは必要です:

    >>> DB::connection()->getDatabaseName()
    => "default"
    
    >>> DB::connection('custom')->getDatabaseName()
    => "customized"
    
    // change the config...
    >>> config(['database.connections.custom.database' => 'new_customized_db'])
    => null
    
    // ...but once the connection is already open, config change doesn't affect it...
    >>> DB::connection('custom')->getDatabaseName()
    => "customized"
    
    // ...so we need to get rid of existing connection completely (reconnect() won't work)
    >>> DB::purge('custom')
    => null
    
    >>> DB::connection('custom')->getDatabaseName()
    => "new_customized_db"
    

    その他の接続

    上に、何をする必要があるかがわかります。あなたの場合は、接続全体の設定を入力するだけです。 必要な新しい接続ごとに、期待どおりに機能します:

    >>> config(['database.connections.on_the_fly' => [
    >>>    'database' => 'provided_on_the_fly',
    >>>    ...
    >>> ]])
    => null
    
    >>> DB::connection('on_the_fly')->getDatabaseName()
    => "provided_on_the_fly"
    

    雄弁

    Eloquentモデルにカスタム接続を使用する場合 SomeModel::on('on_the_fly')->find($id)を使用できます (フェッチされたモデルインスタンス 以降のすべての操作に接続を使用します)




    1. スペースと特殊文字を含むURLのベストプラクティス

    2. Postgres Insert Into View Rule with Returning Clause

    3. データベースにデータが存在するかどうかを確認する

    4. JARファイルのクラスパスの設定