CI 묻고 답하기

제목 모델의 멤버 변수 사용 효용성 문의
글쓴이 작돌이 작성시각 2010/04/01 17:53:47
댓글 : 4 추천 : 0 스크랩 : 0 조회수 : 20787   RSS
모델 클래스에 멤버 변수를 사용하여 데이터베이스에 insert 하는 법과 멤버변수 없이 post 로 받은 값을 insert 하는 방법의 차이가 있다면 무엇일까요?

가능하면 mvc 를 맞추어 작업하려고 노력하고 있는데 하다보니 모델의 맴버 변수 효용성에 대해 궁금증이 생기더라구요.

모델 자체를 JSP 환경처럼 쓰기 어려운 것 같아요.

class Lovepool extends Model {

    var $sender      = '';
    var $location_x     = '';
    var $location_y     = '';
    var $range	= '';
    var $stat	= '';
    
    var $reg_date       = '';
위와 같은 모델이 구성되어 있을 경우
function insert_lovepool()
    {
        $this->sender = $this->input->post('member_id', TRUE);
        $this->location_x = $this->input->post('location_x', TRUE);
        $this->location_y = $this->input->post('location_y', TRUE);
        $this->range = $this->input->post('range',TRUE);
        $this->stat = 0;

        $this->reg_date = date("Y-m-d H:m:s");

        $this->db->insert('lovepool', $this);
    }
으로 구성하는 것과 멤버 변수 없이 직접 인서트 하는 법...

어떤가요?

작업이 진행될 수록 멤버 변수의 사용 법위가 모델 내에서 특히 인서트 하는 부분 말고는 참조할 만한 게 없어요.
업데이트 할때도 특정 필드만 접근하게 되고
삭제할때도 역시 멤버 변수를 쓸일이 없고...

조언 부탁드려요 ㅜㅜ
 다음글 다중 DB 쿼리 캐싱 (5)
 이전글 CI + 제로보드4 게시판 사용 (2)

댓글

사월 / 2010/04/01 22:24:49 / 추천 0
저는 모델에 따로 멤버 변수를 사용하지는 않습니다.
그런데.. post값 받아오는건  콘트롤러에서 하는게 맞지않을까요;
콘트롤러에서 post값 받아서 validation 처리해서 모델의 insert() 등의 메쏘드에 값을 넘긴후에
$this->db->set() 한 후 $this->db->insert() 를 해서 처리하고 있습니다.

MVC를 어떻게 구성하느냐에 정답은 없겠죠~
변종원(웅파) / 2010/04/02 10:52:16 / 추천 0
멤버변수 사용할 정도의 모델은 없었던 것 같네요.

저도 post값은 컨트롤러에서 처리 또는 바로 모델함수에 넘깁니다.
kirrie / 2010/04/02 11:35:17 / 추천 0
일일이 저렇게 선언하지 않아도 $model->some_val = 'aaaa'; 하면 $model 인스턴스에 자동으로 변수가 초기화됩니다. php5부터는 visibility를 강하게 지정할 수 있어서 엄격하게 변수 선언을 체크할 수 있지만...

그리고 $this 는 CI 코어 인스턴슨데 저렇게 하면 좀 위험할듯합니다. 그럴리는 없겠지만 혹시라도 멤버변수가 중복되기라도 하면 바로 에러.

저는 값을 배열로 그냥 넘깁니다.
작돌이 / 2010/04/02 15:57:51 / 추천 0
조언 감사합니다!