CI 묻고 답하기

제목 액티브 레코드에서 left 함수를 사용 못하나요?
글쓴이 푹쇄진 작성시각 2016/01/26 16:09:27
댓글 : 5 추천 : 0 스크랩 : 0 조회수 : 13810   RSS

db안에 문자열 비교를 할려면 left 함수를 써서 내용을 잘라내야 하는데 

 

$this->db->where("left(내용,10)",$content);

 

이런 식으로 사용할려니 안되는데 혹시 액티브 레코드를 이용해서 left함수를 사용 할 수 있는 방법이 있는지?

 다음글 네임서버를 Cloudflare 사용 시 아이피 가져오는... (3)
 이전글 ci chapter7 사용자 인증(로그인) 문의 (3)

댓글

변종원(웅파) / 2016/01/26 16:18:41 / 추천 0

where() 함수의 세번째 파라미터에 false 주고 실행해보세요.

 

실행했을때 나온 쿼리를 올려주셔야 정확한 답을 올릴 수 있습니다.

푹쇄진 / 2016/01/26 16:36:57 / 추천 0

 

$searchDate = '2016-01-26';

function search($searchDate){

 

  if(isset($searchDate)){
      $this->db->where("left(write_date,10)",$searchDate,false);
  }

    $this->db->get('db_write');

}

 

대충 이런 형식 입니다. 

 

변종원(웅파) / 2016/01/26 16:46:48 / 추천 0

쿼리 내용이 아니라 안된다고 하시니 그 에러나 화면에 출력된 로그를 올려달라고 한거에요.

매뉴얼 보시면 where() 함수 사용법이 4가지가 있는데 그냥 쿼리를 사용할 수 도 있습니다.

 

$where = "name='Joe' AND status='boss' OR status='active'";

$this->db->where($where);

taegon / 2016/01/26 16:51:33 / 추천 0

웅파님이 답변 드린 것처럼 해도 되고 isset으로 해당 데이터가 있을 떄만 where을 추가하고 싶으시면

$this->db->where("left(write_date, 10) = '{$searchDate}'", NULL, FALSE);

형태로 하시면 됩니다. 이것도 매뉴얼에 있는 내용입니다~

푹쇄진 / 2016/01/26 17:32:58 / 추천 0

답변주신 모든 분들 감사합니다. 잘 해결했습니다~