아래와 같은 방법으로는 안되시려나요 ?
switch($request->code) { case 1: $db = 'schema_name'; case 2: $db = 'schema_name'; case 3: $db = 'schema_name'; } $users = DB::select("select * from $db where active = 1");
주신 코드로는 이렇게 하고 싶습니다.
switch($request->code) { case 1: $db = 'db1'; case 2: $db = 'db2'; case 3: $db = 'db3'; } $users = $db::select("select * from user where active = 1");
그리고 switch 부분을 서비스 주입이나 상속같은 방법을 사용하여 한번 적용으로 모든 모델에서 사용 가능 한지도 알고 싶습니다.
안녕하세요. 라라벨 입문하게된 초보입니다.
DB1 , DB2 , DB3 동일한 스키마를 사용하는 DB가 .env에 정의 되어 있습니다.
사이트 접속시에 특정변수 $_POST['CODE'] 에 따라서
switch( $_POST['CODE'] ){
case "1" : DB = DB1 ; break;
case "2" : DB = DB2 ; break;
case "3" : DB = DB3 ; break;
}
이런식으로 해서 모든곳에서 DB명을 변경없이 하나의 쿼리로 가능 한지가 알고 싶습니다.
$users = DB::connection('DB1')→select(...);
이렇게 쓰지 않고 바로
$users = DB::select('select * from users where active = ');
이렇게 사용 하고 싶은데 간단한 방법이 없을까요?
프레임워크를 안쓰면 무지 간단한 문제인데...라라벨로 해결할려니 기본 개념이 부족하여 헤메고 있습니다.
도움주실분 있으시면 감사하겠습니다.