제목 | 액티브 레코드 캐쉬 사용시 백틱 문제 | ||
---|---|---|---|
글쓴이 | 헤덥 | 작성시각 | 2014/12/08 18:00:35 |
|
|||
우선 $this -> db -> select("if(a = b , 'T' , 'F') as test" , false); 를 시키면 셀렉트 부분에 백틱 제거가 가능하단걸 알고 있습니다. 서브쿼리나 내장함수 조건절등을 너을때 사용하고 있고요.. 근데 문제는 액티브 레코드의 캐쉬를 넣으면 백틱보호가 false 가 먹지 않습니다. 특히 저 IF 절이 안되더군요. 저는 페이징처리를 하는데 보통 캐쉬를 많이 넣는데, $this -> db -> select("count(id) as count" , false); $this -> db -> start_cache(); //캐쉬 설정 $this -> db -> where('aaa' , 1); $this -> db -> order_by('aaa' , 'desc'); $this -> db -> group_by('bbb'); $this -> db -> from('table') $this -> db -> stop_cache(); // 캐쉬 종료 $count = $this -> db -> get() -> row -> count; //페이징처리 계산을 하고 $limit 과 $offset 값을 설정하고 $this -> db -> select("IF(id = 1 , 'T' , 'F' ) as test" , false); $this -> db -> limit($limit , $offset); $result = $this -> db -> get(); $this -> db -> flush_cache(); 우선 처리구조는 저런식으로 돌아가고 있습니다. 어쩃든 마지막 커리구조를 보면 두번째에 if 문을 쓴 셀렉트 쿼리가 백틱보호가 되어서 들어갑니다. select IF(id = 1, `'T'` , `'F'`) from 어쩌구 where 저쩌구 group_by 이렇게 limit 저렇게 저런식으로요 캐쉬를 제거하고 나머지구문을 한번 더 써주면 제대로되긴하는데 이거 혹시 해결방법이 있나 여쭙고 싶습니다. |
|||
다음글 | 안녕하세요?? CI초보가 URL에 대해서 질문합니다, (1) | ||
이전글 | html 을 pdf 로 만드려는데 가능한 플러그인이 있... (2) | ||
헤덥
/
2014/12/08 18:46:07 /
추천
0
|
저 조건절 걸린 곳만 캐쉬를 한번 더 넣어주는방식으로 했습니다.
근데 캐쉬가 안걸린 셀렉트문은 무조건 백틱이 걸려서 나와버리네요.
나중에 코어단을 한번 살펴봐야할것 같네요