CI 묻고 답하기

제목 update_batch에 대해 질문있습니다.
카테고리 CI 2, 3
글쓴이 LIA 작성시각 2017/08/03 11:08:02
댓글 : 2 추천 : 0 스크랩 : 0 조회수 : 14721   RSS

안녕하세요 update_batch를 이용하여 다중update를 사용하려고 합니다.

active record 메뉴얼을 보니 

 

$data = array(
   array(
      'title' => 'My title' ,
      'name' => 'My Name 2' ,
      'date' => 'My date 2'
   ),
   array(
      'title' => 'Another title' ,
      'name' => 'Another Name 2' ,
      'date' => 'Another date 2'
   )
);

$this->db->update_batch('mytable', $data, 'title'); 

// Produces: 
// UPDATE `mytable` SET `name` = CASE
// WHEN `title` = 'My title' THEN 'My Name 2'
// WHEN `title` = 'Another title' THEN 'Another Name 2'
// ELSE `name` END,
// `date` = CASE 
// WHEN `title` = 'My title' THEN 'My date 2'
// WHEN `title` = 'Another title' THEN 'Another date 2'
// ELSE `date` END
// WHERE `title` IN ('My title','Another title')

 

이런식으로 사용하시더라구요, 근데 전 where절을 두개 넣고싶은데,

그럴때는 $this->db->update_batch('mytable', $data, 'title', 'test') <!-- (test라는 임의의 값이 배열에 있다고 치겠습니다.) -->

이런식으로 2개이상의 where절을 사용할 수 있을까요? 아니면 2개 이상의 where절은 따로 추가하는 방식이 있나요?

 

 다음글 코드이그나이터와 PDO (3)
 이전글 코드이그나이터로 파일업로드시 mime.php에 대해서 ... (1)

댓글

변종원(웅파) / 2017/08/03 22:24:32 / 추천 0

간혹 매뉴얼에 없는데 작동하는 기능이 있긴 합니다만 매뉴얼 읽어보시고 없으면 안되는 거구요.

system 디렉토리에서 해당 함수 찾아서 열어보세요. 데이터베이스 부분은 확장이 안되서 직접 수정해서 사용하셔야 합니다.

LIA / 2017/08/04 10:07:58 / 추천 0

웅파님 답변 감사합니다.

이부분은 active record를 사용하지않고 처리했습니다.