Laravel 4 フレームワークで実行することを意図した composer パッケージを作成する場合、次のようなデフォルトのデータベース接続セットを作成したいと考えています。
// File Location: LARAVEL4_ROOT/vendor/my/package/src/config/database.php
return array(
'connections' => array(
'reporting' => array(
'driver' => 'mysql',
'host' => getenv('REPORTING_HOST'),
'database' => getenv('REPORTING_DBNAME'),
'username' => getenv('REPORTING_USER'),
'password' => getenv('REPORTING_PASS'),
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
),
),
);
オンラインで見つけることができるすべてのドキュメントによると、サービスプロバイダーパターンを使用してプロジェクトを登録し、呼び出し$this->package('my/package')
ます。Laravel 4 は、このファイルを魔法のようにロードし、構成でアクセスできるようにすることになっています。
そして、私は私が呼び出すことができることを確認しました
Config::get('package::database.connections.reporting')
上記の配列を返します。
ただし、Eloquent Model ファイルを作成し、次を使用して接続を設定しようとすると、
protected $connection = 'package::database.connections.reporting';
うまくいきません。次のような例外が発生します。
InvalidArgumentException: Database [package::database.connections.reporting] not configured.
パッケージのデフォルト設定を使用して接続リゾルバーをデータベースに接続するために使用する必要があるマジック ストリング形式はありますか?
ご協力いただきありがとうございます!