I have a custom config file in config folder. I need to run database query or access Laravel 5.3 eloquent on this file so that it loads on run time. For example
$site_name = $_SERVER['HTTP_HOST'];
$siteData = Site::whereSiteUrl($site_name)->first();
//echo "<pre>";
//print_r($siteData);
//echo "</pre>";
//exit;
if($siteData)
{
//echo $siteData->getOriginal('db_password'); exit;
$dbhost = $siteData->db_host;
$dbname = $siteData->db_name;
$username = $siteData->db_user;
$password = $siteData->getOriginal('db_password');
$template = $siteData->site_theme;
}
else
{
App::error(function($exception, $code)
{
Log::error($exception);
return 'Sorry! Something is wrong with this account!';
//return Response::view('test.error500', array(), 500);
});
}
//echo $password; exit;
DB::disconnect('mysql');
DB::disconnect('db_lk_prefix');
DB::disconnect('db_coll_prefix');
Config::set('database.connections.mysql', array(
'driver' => 'mysql',
'host' => $dbhost,
'database' => $dbname,
'username' => $username,
'password' => $password,
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
));
Config::set('database.connections.db_lk_prefix', array(
'driver' => 'mysql',
'host' => $dbhost,
'database' => $dbname,
'username' => $username,
'password' => $password,
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => 'lk_',
));
Config::set('database.connections.db_coll_prefix', array(
'driver' => 'mysql',
'host' => $dbhost,
'database' => $dbname,
'username' => $username,
'password' => $password,
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => 'coll_',
));
DB::reconnect('mysql');
DB::reconnect('db_lk_prefix');
DB::reconnect('db_coll_prefix');
But it is not working at all in 5.3 but works in 4.2. It is showing Fatal error: Call to a member function connection() on null in
Can anybody help with proper example?