При создании пакета композитора, предназначенного для запуска в среде Laravel 4, я хочу создать набор соединений с базой данных по умолчанию, который выглядит примерно так:
// 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.
Есть ли какой-то формат волшебной строки, который мне нужно использовать, чтобы заставить Connection Resolver подключиться к моей базе данных, используя конфигурацию по умолчанию в моем пакете?
Спасибо за вашу помощь!