2016-10-19 5 views
0

하나의 데이터베이스에서 다른 데이터베이스로 전환하기 위해 런타임시 필요에 따라 .env 파일의 DB_Database 필드를 설정하려고합니다. 컨트롤러에서 설정하는 방법 ?? .env 필드를 설정하는 방법은 무엇입니까 ??lanvel 5.3에서 런타임시 컨트롤러의 .env에 DB_Database 필드를 설정하는 방법은 무엇입니까?

+2

당신은 데이터베이스를 지정할 수 있습니다 $ 사용자 = DB :: 연결 ('foo') -> 선택 (...); – GoatHater

+1

우리가 당신을 도울 수 있도록 약간의 코드를 제공하십시오! 'model'에서 설정 한 데이터베이스 선택 또는'DB :: connection (connection_name ')'.'connection_name'이 .env에 정의 된 쿼리를 실행할 때 – Froxz

+0

이것은 도움을 줄 수 있습니다 : https://laracasts.com/discuss/channels/ 일반 토론/데이터베이스 연결 변경시 –

답변

1

실제로 가능하지만 좋은 생각은 아닙니다. DB 사이의 스위치의 작업을 수행 할 수 있습니다

당신의 config/database.php 파일

1.Add 연결 : DB 요청에 대한

'connections' => [ 

    'mysql' => [ 
     'driver' => 'mysql', 
     'host' => env('DB_HOST', 'localhost'), 
     'port' => env('DB_PORT', '3306'), 
     'database' => env('DB_DATABASE', 'forge'), 
     'username' => env('DB_USERNAME', 'forge'), 
     'password' => env('DB_PASSWORD', ''), 
     'charset' => 'utf8', 
     'collation' => 'utf8_unicode_ci', 
     'prefix' => '', 
     'strict' => true, 
     'engine' => null, 
    ], 

    'mysql2' => [ 
     'driver' => 'mysql', 
     'host' => env('DB_HOST', 'localhost'), 
     'port' => env('DB_PORT', '3306'), 
     'database' => env('DB_DATABASE', 'forge'), 
     'username' => env('DB_USERNAME', 'forge'), 
     'password' => env('DB_PASSWORD', ''), 
     'charset' => 'utf8', 
     'collation' => 'utf8_unicode_ci', 
     'prefix' => '', 
     'strict' => true, 
     'engine' => null, 
    ], 

], 

2.Specify 연결 :.

$users = DB::connection('mysql')->select(...); 
$users = DB::connection('mysql2')->select(...); 
+0

감사합니다. @aleksejjj – sam

관련 문제