CI 묻고 답하기

제목 mssql 내장 함수 가져오기 질문드립니다.
글쓴이 CI늅늅 작성시각 2015/01/28 17:18:12
댓글 : 3 추천 : 0 스크랩 : 0 조회수 : 13298   RSS
insert 후 identity 를 가져와 update 를 해야하는 상황인데

잘 모르다 보니.. 이게 쉽지가 않네요;;

$this->db->tran_begin();

$dataArray = array{
  name=>'길동이',
  age=>'8살'
}

$result = $this->db->insert('table_name', $dataArray);

if($result === TRUE){
  
  $ageIdx = $this->db->query('SELECT SCOPE_IDENTITY() as value')->result();

  $this->db->set('parentid', $ageIdx, FALSE);
  $this->db->where('age_idx', $ageIdx);
  $result = $this->db->update('TB_AGE');

}

대략적으로 이런 형태인데..

$ageIdx 를 찍어보면 Array라고 나오네요..

가지고 오는 방법이 틀린건지.. 잘 모르겠습니다.

조언부탁드릴께요 (_ _)
 
 다음글 접속을 https로만 하게 하려면 어떻게 해야할까요? (1)
 이전글 기존 홈페이지 구성에 URL 체계만 구성이 가능한지요.... (3)

댓글

CI늅늅 / 2015/01/28 17:32:29 / 추천 0
자답입니다. 초보라 힘드네요 ㅠㅠ;
$ageIdx = $this->db->query('SELECT SCOPE_IDENTITY() as value')->result(); 구문을
$ageIdx = $this->db->query('SELECT SCOPE_IDENTITY() as value')->row_array();

echo $ageIdx['value']; 로 가져와지네요

단일 행이라서 값을 바로 가져올줄 알았는데 아닌가보네요 ..

혹시 값을 바로 가져오는 다른방법이 있다면 조언 부탁드리겠습니다.(_ _);

 
한대승(불의회상) / 2015/01/28 17:43:22 / 추천 0
단일 행이라 하심은...
$this->db->query('SELECT SCOPE_IDENTITY() as value')->result()->value;
하지만 반환된 객체가 없는 경우 에러나는게 함정!!
CI늅늅 / 2015/01/28 17:52:32 / 추천 0
값이 없을수가 없으니 해당 구문으로 써도 되겠네요.
한대승님 답변 감사합니다.