Skip to content

Commit

Permalink
Merge pull request #1 from locomotivemtl/database-service-proider
Browse files Browse the repository at this point in the history
Fix database service provider.
  • Loading branch information
mducharme committed May 31, 2016
2 parents 8007894 + 12441f9 commit aeac5be
Showing 1 changed file with 13 additions and 7 deletions.
20 changes: 13 additions & 7 deletions src/Charcoal/App/ServiceProvider/DatabaseServiceProvider.php
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ public function register(Container $container)
*/
$container['databases/config'] = function (Container $container) {
$config = $container['config'];
$databases = $config->get('databases');
$databases = $config['databases'];
$configs = new Container();
foreach ($databases as $dbIdent => $dbOptions) {
$configs[$dbIdent] = new DatabaseConfig($dbOptions);
Expand All @@ -58,13 +58,18 @@ public function register(Container $container)
$config = $container['config'];
$databases = $config->get('databases');
$dbs = new Container();
foreach ($databases as $dbIdent) {
$origContainer = $container;
foreach ($databases as $dbIdent => $dbOptions) {

unset($dbOptions);

/**
* @param Container $container A container instance.
* @return PDO
*/
$dbs[$dbIdent] = function (Container $container) use ($dbIdent) {
$dbConfig = $container['databases/config'][$dbIdent];
$dbs[$dbIdent] = function (Container $container) use ($dbIdent, $origContainer) {
$dbConfigs = $origContainer['databases/config'];
$dbConfig = $dbConfigs[$dbIdent];

$type = $dbConfig['type'];
$host = $dbConfig['hostname'];
Expand Down Expand Up @@ -99,7 +104,7 @@ public function register(Container $container)
*/
$container['database/config'] = function (Container $container) {
$config = $container['config'];
$databaseIdent = $config->get('default_database');
$databaseIdent = $config['default_database'];
return $container['databases/config'][$databaseIdent];
};

Expand All @@ -111,8 +116,9 @@ public function register(Container $container)
*/
$container['database'] = function (Container $container) {
$config = $container['config'];
$databaseIdent = $config->get('default_database');
return $container['databases'][$databaseIdent];
$databaseIdent = $config['default_database'];
$databases = $container['databases'];
return $databases[$databaseIdent];
};
}
}

0 comments on commit aeac5be

Please sign in to comment.