| 제목 | 액티브 레코드로 서브쿼리 적용. | ||
|---|---|---|---|
| 글쓴이 | 수야디벨 | 작성시각 | 2013/07/24 15:24:34 | 
|  | |||
| 안녕하세요. 서브쿼리라는게 있다는걸 알고나서 서브쿼리에 대해서 학습하고 이를 액티브 레코드로 적용해보려고 하는데요 원래 예제 소스는 // Generate the subquery $this->db->select('count(*)'); $this->db->from('users'); // Render the subquery to a string $subQuery = $this->db->_compile_select(); // Reset active record $this->db->_reset_select(); // Generate the primary query and include the subquery $this->db->select('users.id as userId, users.fullname as userName'); $this->db->select("($subQuery) as userCount"); $this->db->where('users.status', 'active'); //예제소스는 여기까지 나와있는데 //이 아래코드같은 부분이 생략되어있는거 맞죠? where절로 끝나면 안되지 않나요? $data = $this->db->get('myTable'); 저 소스를 제 DB 정보에 맞게 이름을 다시 수정하고 하면, 크롬에서 서버 오류라고 에러가 나와요! 음 .. 분명히 제 DB 테이블 이름에 맞게 수정해줬는데 ... 그래서 전체가 아닌 아래처럼만 적어서 해봤는데오 오류가 나네요 . // Generate the subquery $this->db->select('count(*)'); $this->db->from('users'); // Render the subquery to a string $subQuery = $this->db->_compile_select();왜 그런걸까요?(이 부분만 지워주면 정상적으로 페이지가 뜨는걸 보니, 이 코드에 문제가 있는거 같아요) (편의상 예제소스 테이블명을 그대로 옮겼는데, 테이블이나 DB명은 제꺼로 제대로 적었다고 가정합니다!) | |||
| 다음글 | anchor_popup 팝업창에 이름 주기 (1) | ||
| 이전글 | 글쓰기와 글수정 관련 질문.. ㅠ (5) | ||
| 
                                변종원(웅파)
                                /
                                2013/07/24 15:33:47 /
                                추천
                                0
                             | 
| 
                                수야디벨
                                /
                                2013/07/24 16:04:13 /
                                추천
                                0
                             
                                 웅파 // 웅파님 말씀대로 그냥 속편하게 기술해서 사용해야겠어요 ㅎㅎ 감사합니다 ~ㅎ | 
요즘 자료로 찾아보면 아마 안될겁니다. (기억이 가물가물)
https://github.com/NTICompass/CodeIgniter-Subqueries 요넘 한번 이용해보시구요.
전 복잡한 쿼리는 AR 안쓰고 그냥 기술해서 작업합니다.
특히나 여러 db를 쓰는경우엔 더욱 더!!
여러 db를 쓰면 default db 말고는 프로파일러에 안나옵니다. ar로 작성하면 쿼리를 볼수가 없다는.... ㅋㅋ