CI 묻고 답하기

제목 테이블 데이터가져오기 하나의 모델에서 처리가능한지?
카테고리 CI 2, 3
글쓴이 Givepro 작성시각 2016/09/13 08:43:48
댓글 : 5 추천 : 0 스크랩 : 0 조회수 : 16760   RSS

안녕하세요 php,ci 입문한지 얼마안된 초보자입니다.

게시판소스들을 이용해서 db의 데이터들을 보여주는 프로그램을 만들고 있는데요.

MVC쪽으로 질문을 드리겠습니다.

 

1. 테이블의 컬럼내용을 리스트로 보여주고있습니다. 리스트는 총 10개가있음 각각 다른페이지로 보여주고있습니다.

ex) 진행페이지,보관페이지,라이센스페이지 등등

2. 각 리스트의 제품이름을 클릭하면 데이터를 수정할수있는 detail페이지로 이동합니다.

3. detail페이지에서 내용을 바꾸고 수정을 하면 정상적으로 수정이됩니다.

 

저부분까지 만들었는데요. 궁금한점이 하나있습니다.

 


function get_view($idx) {

    $sql = "SELECT * FROM soft_progress WHERE idx='" . $idx . "'";

    $query = $this->db->query($sql);

    $result = $query->row();

    return $result;

}

모델에서 detail페이지를 보여주는 부분인데요.

soft_progress의 내용을 idx값을 기준으로 가져옵니다.

 

여기서 문제는 저는 get_view에서 다른 테이블의 내용도 가져오고싶은데 가능할까요?

ex) soft_keep, soft_stop 등

만약 가져오지를 못하면 10개테이블 각각 모델부분을 만들어줘야하는데 코딩을 최대한 간결하게 만들고싶습니다.

 

 

 다음글 특정 메뉴로 들어가면 무한 로딩 현상이발생하네요 ㅜㅜ (27)
 이전글 ci hook 사용중 (17)

댓글

윤동훈 / 2016/09/13 08:55:43 / 추천 0

위의 저 내용이 모델부분의 내용이라면 모델의 다른 메소드에 테이블을 각가 불러와서 컨트롤러에서 선언해서 쓰면되지 않을까요 ?

저 메소드하나에 여러개 테이블을 쓰셔야 하는 이유가 있지 않으시다면 ? - 지나가던 초보 - 

pwrlove / 2016/09/13 08:56:28 / 추천 0

그 테이블이 같은 데이터베이스에 있다면 얼마든지 가능 합니다.

단지 모델을 테이블별로 나누는것은 구조를 단순화하고 가독성 및 규칙성을 가지게해서 유지관리에

유리하게 하기위함 입니다.

kaido / 2016/09/13 09:25:01 / 추천 0
function get_view($idx, $table = 'soft_progress') {

    $sql = "SELECT * FROM  $table  WHERE idx='" . $idx . "'";

    $query = $this->db->query($sql);

    $result = $query->row();

    return $result;

}

//

$table = 'table name';
$dbObject = $this->model->get_view($idx, $table);

 

 

별것 없죠?

 

참고로 같은 물리적 데이터베이스 안에 다른 데이터베이스 것도 가져올수 있습니다.

변종원(웅파) / 2016/09/13 10:16:06 / 추천 0

개발을 하다보면 공용 모듈에 대한 요구가 나옵니다. 그리고 어느 정도 개발하다보면 처음부터 공용모듈을 구조화하고 시작을 합니다.

sql문만으로 작업을 한다면 모델함수 한개로 1개의 row, 여러개의 row, 전체 게시물수 등을 리턴하도록 만들 수 있으나

기능이 더 추가되면 추후 유지보수가 복잡해질 수 있어서 적절한 선에서 나눕니다.

이 적절한 선은 정해진 답이 없습니다. ^^

Givepro / 2016/09/13 10:25:07 / 추천 0
답변 감사합니다. ^^ 개발하는데 참고하겠습니다.