1

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?

madankundu
  • 154
  • 8

0 Answers0