вы можете, например, сделать его для использования разные базы данных, то у вас есть несколько различных переменных на .env как:
DB_HOST=localhost
DB_DATABASE=database1
DB_USERNAME=foo
DB_PASSWORD=foo
DB_HOST_2=localhost
DB_DATABASE_2=database2
DB_USERNAME_2=foo
DB_PASSWORD_2=foo
и в конфигурации/dababase.php:
'connections' => [
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', 'localhost'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => false,
],
'mysql2' => [
'driver' => 'mysql',
'host' => env('DB_HOST_2', 'localhost'),
'database' => env('DB_DATABASE_2', 'forge'),
'username' => env('DB_USERNAME_2', 'forge'),
'password' => env('DB_PASSWORD_2', ''),
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => false,
],
и, наконец, использовать:
Config::set('database.default', "mysql") or Config::set('database.default', "mysql2")
в зависимости вам нужно ,
Например, я использую, чтобы изменить соединение с базой данных после пользователь авторизации делает это в контроллер абстрактного класса, изменив значение в зависимости сеанса вар, который изменяется после входа в систему в зависимости типа пользователя:
abstract class Controller extends BaseController {
use DispatchesCommands, ValidatesRequests;
public function __construct()
{
Config::set('database.default', Session::get('myapp.database','mysql'));
}
}
После входа в систему я поставленному измените это значение:
Session::set('myapp.database', 'mysql2') or Session::set('myapp.database', 'mysql')
и в следующем вызове контроллера соединения с базой данных изменены.
Прочтите документ http://laravel.com/docs/5.0/configuration#environment-configuration – astroanu