| 제목 | CI에서의 검색결과 차이에 대한 질문. | ||
|---|---|---|---|
| 글쓴이 | 닥스훈트 | 작성시각 | 2012/06/28 17:10:49 | 
|  | |||
| CI로 같은 게시판 프로그램을 만들고 있는데요, 검색 기능을 넣는 도중 궁금한 점이 발견되었습니다. 예를 들어 다음과 같이 레코드가 있을 때 ---------------------------------------------------------- 번호 |   제목           |  날짜    | 조회수 ---------------------------------------------------------- 6       | 지구3                   |  6-28    | 3 ---------------------------------------------------------- 5       | 지구2                    |  6-28    | 1 ---------------------------------------------------------- 4       | 지구1                   |  6-28    | 2 ---------------------------------------------------------- 3       | 이승골노래           |  6-28    | 1 ---------------------------------------------------------- ___________ 검색 제목과 내용 필드 모두를 필터로 했을때(like_or 사용) 만약 '지구' 라는 키워드로 검색을 한다면 6,5,4 번의 글이 나와야 하는데요, 모델에서는 다음과 같이 코드를 짰습니다. 
function search_movieclip($term){
 $this->db->like('subject', $term);
 $this->db->or_like('content', $term);
 $query = $this->db->get('mboard');
 $this->db->order_by('id', 'desc');
 $contents = $query->row();
 return $contents;
}그런데 이렇게 했더니 출력 결과가 이렇게 나왔습니다. (print_r 사용) stdClass Object (     [id] => 25     [listorder] => 0     [subject] => 지구     [w_date] => 2012-06-28     [views] => 0     [m_url] => 지구     [content] => 지구 ) 이는 예상과 다른 출력 결과 인데요... 왜 그런가 해서 다시 모델쪽 코드를 아래와 같이 바꿨습니다. 
function search_movieclip($term){
 $this->db->like('subject', $term);
 $this->db->or_like('content', $term);
 $query = $this->db->get('mboard');
 $this->db->order_by('id', 'desc');
 $contents = $query->result_array();
 return $contents;
}그랬더니 이번엔 아래와 같이 정상적으로 나오더군요. ---------------------------------------------------------- 번호 |   제목           |  날짜    | 조회수 ---------------------------------------------------------- 6       | 지구3                   |  6-28    | 3 ---------------------------------------------------------- 5       | 지구2                    |  6-28    | 1 ---------------------------------------------------------- 4       | 지구1                   |  6-28    | 2 ---------------------------------------------------------- 즉 $contents = $query->row(); 를 $contents = $query->result_array(); 로 바꾸어준것 밖에 없는데요 제가 알기론 $query->row(); 가 쿼리의 결과를 한줄만을 받는 것으로 $query->result_array() ;는 배열을 받는 것으로 알고 있는데요 제가 알고 있는 이 차이점이 확실한건지요? | |||
| 다음글 | 엑티브 레코드 와 일반 쿼리 (3) | ||
| 이전글 | CSS나 js파일 어떻게 관리하세요? (6) | ||
| 
                                한대승(불의회상)
                                /
                                2012/06/28 17:57:39 /
                                추천
                                0
                             | 
| 
                                닥스훈트
                                /
                                2012/06/29 21:10:01 /
                                추천
                                0
                             
                                 감사합니다... 이젠 확실히 두개의 용도를 알겠어요.
                             | 
배열 대신 object로 받고 싶을땐 result()
를 사용 합니다.