제목 | 요즘 쓰고 있는 모델 기본 포맷 입니다. | ||
---|---|---|---|
글쓴이 | 맥스 | 작성시각 | 2015/01/08 13:33:19 |
|
|||
<?php class Model_name extends CI_Model { function __construct() { parent::__construct(); define( '_TBL', strtolower( get_called_class() ) ); } function get_list( $param = NULL ) { $this->db->select( "SQL_CALC_FOUND_ROWS *", false ); if( !isset( $param['page'] ) ) { $param['page'] = 1; } $this->db->order_by('idx DESC'); if( isset( $param['limit'] ) ) { $result = $this->db->get( _TBL, $param['limit'], ( ( $param['page'] - 1 ) * $param['limit'] ) ); } else { $result = $this->db->get( _TBL ); } $return['list'] = $result->result_array(); $result = $this->db->query( "SELECT FOUND_ROWS() as cnt" ); $return['count'] = $result->row( 0 )->cnt; return $return; } function get_one( $idx = NULL ) { $this->db->where( 'idx', $idx ); $result = $this->db->get( _TBL ); if( $result->num_rows() > 0 ) { return $result->row_array(); } else { return false; } } function create( $param = NULL ) { foreach( $param as $k => $v ) { $this->db->set( $k, $v ); } $this->db->insert( _TBL ); return $this->db->insert_id(); } function update($idx = NULL, $param = NULL) { foreach( $param as $k => $v ) { $this->db->set( $k, $v ); } $this->db->where( 'idx', $idx ); $this->db->update( _TBL ); } }이걸 snippet으로 등록해서 사용합니다. |
|||
다음글 | PHPExcel사용방법 (6) | ||
이전글 | Codeigniter 2.1.4, php 5.6 에서 ... (3) | ||
한대승(불의회상)
/
2015/01/08 14:44:14 /
추천
0
|
변종원(웅파)
/
2015/01/08 15:16:52 /
추천
0
기본셋이네요. ^^
|
누구야
/
2015/01/15 14:13:26 /
추천
0
좋은 정보 감사합니다!!~
|
미남xa
/
2015/02/25 16:52:53 /
추천
0
get_called_class() 을 사용할 경우에는 테이블이름하고 클래스 이름을 맞춰서 사용하나요?
|
한대승(불의회상)
/
2015/02/25 17:04:31 /
추천
0
흠... 예전엔 그냥 지나쳣었는데...
_TBL 로 선언된 값이 2개 이상의 모델을 로드 했을때 문제가 생길수 있을것 같네요. |
미남xa
/
2015/02/25 17:38:42 /
추천
0
2개이상의 모델도 그렇고, CI는 사용한지 얼마 되지 않았는데 CI권장이 1모델 1테이블 접근을 권장하나 해서요..
|
한대승(불의회상)
/
2015/02/25 18:02:43 /
추천
0
미남xa// 권장은 아니지만 관리하기는 편하더군요.
join 들어가면 관리 차원의 문제는 아닌것 같군요. ^^ CI는 쿼리빌더를 액티브레코드라고는 이름 지은 거라 ORM을 지원하지는 않으니까요. |
core/MY_Model.php 에 집어넣고 확장을 MY_Model로 하면 snippet 보다 조금 더 유연해 지더군요.