6

Laravel のデータベース層 Eloquent を CodeIgniter 3 プロジェクトに含めました。しかし、私の問題は、Eloquent モデルを使用して複数のデータベースに接続できないことです。

デフォルトの DB の場合、これが DB の構成方法です。

$capsule = new Capsule;

$capsule->addConnection(array(
        'driver'    => 'mysql',
        'host'      => "localhost",
        'database'  => "employees_db",
        'username'  => "root",
        'password'  => "",
        'charset'   => 'utf8',
        'collation' => 'utf8_unicode_ci',
        'prefix'    => '',
        ));

$capsule->setAsGlobal();
$capsule->bootEloquent();

上記はうまくいきます。しかし、別のデータベースの従業員テーブルがあります。クエリ ビルダーを使用して使用できますが、Eloquent モデルでは失敗します。

私はこれを試しました:

$employees = new Capsule;

$employees->addConnection(array(
        'driver'    => 'mysql',
        'host'      => "host2",
        'database'  => "employees_db",
        'username'  => "user",
        'password'  => "pass",
        'charset'   => 'utf8',
        'collation' => 'utf8_unicode_ci',
        'prefix'    => '',
        ),'employees');

$employees->setAsGlobal();

Eloquent モデルをセットアップして、次のような接続を使用してみました。

protected $connection = "employees";

Laravelの外部でIlluminate\Database Eloquent ORMを使用して複数のデータベースに接続することは可能ですか? はいの場合、どのように?

4

1 に答える 1