2014-04-26 2 views
0

일반적으로는, 우리가어떻게 자동 CodeIgniter의에서 여러 데이터베이스에 연결할 때

$db['default']['host_name']='...'; . . . 
$db['group_one']['host_name']='...'; 

처럼 database.php 그것을 지정 CodeIgniter의에서 단일 데이터베이스를 연결 한 후 autoload.php에서 그들을 자동로드.

이제 각 페이지에 연결할 기본 그룹 인 첫 번째 그룹 만 갖기를 원합니다. 두 번째 그룹을 수동으로 활성화하려고합니다. 런타임에 데이터베이스 연결을 구성하는 방법이 있다는 것을 알고 있지만 두 번째 db에 연결할 때마다 구성 값을 설정해야하므로 필요하지 않습니다.

어떻게하면됩니까?

+0

이 될 수있는 [도움] (http://stackoverflow.com/questions/20785134/change-database-connection-at-runtime-in-codeigniter) . –

+0

작동하지 않습니다. 런타임에 값을 변경하면 20 개 장소에서 값을 변경하면 해당 값을 변경해야합니다. 개발 단계에서 생산 단계로 변경해야합니까? –

답변

1

database.php 파일에서 모든 레코드 세트의 'pconnect'값을 FALSE로 변경하십시오. 이렇게하면 "기본"그룹이 기본 연결로됩니다. 다른 연결은 수동으로 만들어야합니다.

예를 들어, $ db [ 'default'] [ 'pconnect'] = FALSE; 대신 $ db [ 'default'] [ 'pconnect'] = TRUE;

다른 데이터베이스에 연결하려면 다음과 같이 그룹 이름을 지정해야합니다. $ db2 = $ this-> load-> database ('new_conn', TRUE);

더 자세한 내용은 링크를 통해 이동 http://subhra.me/connecting-to-multiple-databases-in-codeigniter/

1

활성 DB 구성의 컨트롤러 조정 모델의 올바른 위치에서 재정의하십시오. 도우미 기능을 작성하고 db config 내에서 변경하십시오.

관련 문제