2012-06-14 3 views
0

존재하지 않는 작업 (컨트롤러가 아닌 작업 만)이 Codeigniter에 의해 처리되는 경우 datamapper이로드되지 않아 데이터베이스 기능이 불가능합니다.Codeigniter datamapper가 404 오버라이드시로드되지 않습니다.

내 사용 사례는 다음과 같습니다. 사이트에서 404 명의 사용자가 발생한시기/장소에 대한 데이터를 등록하고 싶습니다.

버전 정보 : codeigniter 2.1.0; datamapper 1.8.2

답변

0

나는 datamapper가 db 클래스를 "확장"하는 방식에 문제가 있다고 생각했습니다. 사용할 db 클래스의 이름을 정의하는 파일은 한 번만 포함되므로 codeigniter 객체가 다시 생성 될 때 이름은 다시 덮어 쓰지 않습니다. 이 문제를 해결하려면 자신의 비용으로 datamapper 파일을 해킹해야합니다.

파일 "응용 프로그램/THIRD_PARTY/datamapper/시스템/db.php를"줄 끝에서 143 :

// HACK to make datamapper load correctly after codeigniter has been reconstructed in 
// cases of invalid actions (404 overrides) 
$driver = 'DM_DB_Driver'; 
:

// load Datamappers DB interceptor class 
require_once(APPPATH.'third_party/datamapper/system/DB_driver.php'); 

는이 라인을 넣어