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を使用して複数のデータベースに接続することは可能ですか? はいの場合、どのように?