当创建一个打算在 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 模型文件并尝试使用
protected $connection = 'package::database.connections.reporting';
它不起作用。我得到一个例外说:
InvalidArgumentException: Database [package::database.connections.reporting] not configured.
我需要使用一些魔术字符串格式来让连接解析器使用我的包中的默认配置连接到我的数据库吗?
谢谢你的帮助!