제목 | 쿼리결과가 DB와 달라요 | ||
---|---|---|---|
카테고리 | CI 2, 3 | ||
글쓴이 | 니로 | 작성시각 | 2017/02/06 10:32:46 |
|
|||
SELECT t1.cate_id lev1, t1.cate_name name, t1.cate_order corder, t2.cate_id lev2, t2.cate_name name, t2.cate_order corder, t3.cate_id lev3, t3.cate_name name, t3.cate_order corder FROM category AS t1 LEFT JOIN category AS t2 ON t2.cate_upid = t1.cate_id LEFT JOIN category AS t3 ON t3.cate_upid = t2.cate_id WHERE t1.cate_upid = '' order by 3,6,9
계층쿼리를 대충 짰는데요
db에서 검색하면 t2,t3의 cate_id,name,corder모두 잘나옵니다 빈건 null로 표시되구요 근데 ci에서
$q = "SELECT t1.cate_id lev1, t1.cate_name name, t1.cate_order corder, " ."t2.cate_id lev2, t2.cate_name name, t2.cate_order corder, " ."t3.cate_id lev3, t3.cate_name name, t3.cate_order corder " ."FROM category AS t1 " ."LEFT JOIN category AS t2 ON t2.cate_upid = t1.cate_id " ."LEFT JOIN category AS t3 ON t3.cate_upid = t2.cate_id " ."WHERE t1.cate_upid = '' " ."order by 3,6,9 "; $query = $this->db->query($q); echo $this->db->last_query();
이렇게해서 쿼리찍어서 db에도 돌려보고 했는데 result_array로 만들어서 출력하면 t2,t3의 lev2,3 값만 나오고 나머진 타이틀 조차 만들어지지 않아요 [0] => Array ( [lev1] => 2 [name] => [corder] => [lev2] => 7 [lev3] => )
이런식으로 나오는데.. 왜그런걸가요
|
|||
다음글 | 로그인 세션시간제한 (1) | ||
이전글 | codelgniter + mssql 목록 처리 어떤 방... (2) | ||
kaido
/
2017/02/06 10:44:30 /
추천
0
|
니로
/
2017/02/06 10:48:35 /
추천
0
db는 다를수가없어요 방금 db에서 제가 insert로 값을넣은거라.. 없으면 아무것도 안나와야하는데.. 편집기랑 프로젝트 디비 확인해보아도 똑같습니다 |
한대승(불의회상)
/
2017/02/06 10:59:52 /
추천
0
@니로 last_query()의 쿼리랑 쿼리 편집기 쿼리랑 동일한데 결과 값이 다르다면 할 수 있는게 아무것도 없습니다.
|
알브레드
/
2017/02/06 11:00:55 /
추천
0
음... 혹시 DB 캐시 사용을 하시는지 궁금하네요. |
니로
/
2017/02/06 11:09:03 /
추천
0
알브레드 //db캐시는 어떻게 확인해보죠?
|
알브레드
/
2017/02/06 11:12:36 /
추천
0
니로 // 모르시는거 보면 적용을 안하신거 같은데.. 이상하네요;;; http://www.ciboard.co.kr/user_guide/kr/database/caching.html |
니로
/
2017/02/06 11:12:41 /
추천
0
허.. 해결했습니다... 약명으로 준 이름이 t1,t2 cate_name 이라면 모두 동일하게 name으로 적어줘서 쿼리가 이상해졌네요 ;
name약명을 name1, name2, name3 으로 구분해주니 되네요 ㅠ_ㅠ 이런.. order도 마찬가지구요,..ㅎ; |
미나리
/
2017/02/06 11:12:55 /
추천
0
@니로 t2, t3의 name, corder 명칭을 바꿔서 해보세요. name2, corder3 이런식으로 지금은 리턴받은 name, order 값은 마지막에 작성된 t3.name, t3.corder 값으로 리턴받았을꺼에요... |
니로
/
2017/02/06 11:14:13 /
추천
0
미나리//맞습니다 그문제였습니다! ㅋㅋㅋ 이걸 놓치다니 ;ㅠㅠ
|
알브레드
/
2017/02/06 11:32:04 /
추천
0
니로 // 해결되셨다니 다행이네요. 별칭이 같은게 있어도 이상없이 뽑아주는군요...;;; 저도 쿼리짤때 조심해야겠습니다 ㅎㅎ
|