Пользовательский файл конфигурации laravel 5.3 с базой данных или другим доступом

У меня есть собственный файл конфигурации в папке конфигурации. Мне нужно выполнить запрос к базе данных или получить доступ к Laravel 5.3 eloquent для этого файла, чтобы он загружался во время выполнения. Например

$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');

Но в 5.3 вообще не работает, а в 4.2 работает. Он показывает Fatal error: Call to a member function connection() on null in

Может ли кто-нибудь помочь с правильным примером?


person madankundu    schedule 03.10.2016    source источник
comment
Где вам нужно использовать переменные $site_name и/или $siteData? В представлении, контроллере, в другом месте?   -  person tptcat    schedule 03.10.2016
comment
@tptcat можно использовать везде   -  person madankundu    schedule 03.10.2016
comment
Как только он установлен, возможно ли, что он может измениться во время сеанса?   -  person tptcat    schedule 03.10.2016
comment
нет, это не будет изменено, и сеанса не будет... на самом деле имя сайта будет использоваться для многосайтовых целей, и соединение с базой данных будет изменено также в соответствии с именем сайта.   -  person madankundu    schedule 03.10.2016
comment
Я нашел этот stackoverflow.com/questions/29203532/ но вообще не работает   -  person madankundu    schedule 03.10.2016
comment
Как вы собираетесь запрашивать базу данных, чтобы установить, какое соединение с базой данных использовать? Можете ли вы дать более подробную информацию о том, чего вы на самом деле пытаетесь достичь? Это бы очень помогло.   -  person tptcat    schedule 03.10.2016
comment
Пожалуйста, проверьте мою обновленную версию. это отлично работает в Laravel 4.2   -  person madankundu    schedule 03.10.2016
comment
Давайте продолжим обсуждение в чате.   -  person madankundu    schedule 03.10.2016
comment
Кто-нибудь знает, что это важно?   -  person madankundu    schedule 03.10.2016
comment
Один знает laravel... очень грустно   -  person madankundu    schedule 07.10.2016