제목 | CI3 글로벌 트랜잭션 질문입니다. | ||
---|---|---|---|
카테고리 | CI 2, 3 | ||
글쓴이 | eogus | 작성시각 | 2022/11/24 17:47:41 |
|
|||
현재 hooks 에다가 if($CI->input->method() == "post") { $CI->db->trans_begin(); } 코드를 넣어서 post요청일 때 자동으로 트랜잭션 시작하게 끔 해놨습니다.
$this->db->query($query, $binds); if ($this->db->trans_status() === FALSE) { return false; } else { return true; } 이 코드가 모델파일에 insert, delete, update 마다 있어서 이걸 전역으로 처리하는 방법을 찾고있습니다.
if($CI->input->method() == "post") { $CI->db->trans_begin(); if ($CI->db->trans_status() === FALSE) { $CI->db->trans_rollback(); exit; } else { $CI->db->trans_commit(); } } hooks에 이렇게 해봤지만, $CI->db->trans_status() === FALSE <<< 이걸 못잡아서 무조건 commit이 되는거같더라구요.
스프링에 @transactional 처럼 메서드 시작하면 트랜잭션시작, 예외가 터지면 롤백, 이상없이 끝나면 커밋 하는걸 만들고있습니다..
사용하신분 팁좀 부탁드리겠습니다....
|
|||
다음글 | CI3 조회페이지에서 $CI->db->tra... (1) | ||
이전글 | CI DB세션 자동 만료 체크 (1) | ||
한대승(불의회상)
/
2022/11/24 17:50:36 /
추천
0
|
eogus
/
2022/11/24 17:52:44 /
추천
0
if($CI->input->method() == "post") { $CI->db->trans_begin(); } hooks에 이 코드를 사용해야 겠네요.. hooks에 저 코드를 넣어서 문제점이 있을까요? 지금테스트중인데, 문제없이 post일 때 트랜잭션 시작되는거같습니다. |
스프링과 메커니즘이 달라서 전역적으로 지정할 방법은 없습니다.