2015. 9. 4. 18:21ㆍProgramming/CodeIgniter
- 리스트를 보여주고 각 리스트에 대한 정보를 보여준다.
* models/topic_model.php
class Tablename_model extends CI_Model { function __construct() { //method 를 초기화 parent::__construct(); } public function gets() { return $this->db->query('SELECT id,name from tablename')->result(); } public function get($topic_id) { return $this->db->get_where('tablename',array('id'=>$topic_id))->row(); // get_where는 active record라는 방식이라 함. 아래 쿼리와 동일하다고 함. // get_where 의 첫번째 인자는 테이블명, 두번째 인자의 id는 컬럼명임. // return $this->db->query('SELECT * from tablename where id = $topic_id')->row(); // active record 방식의 장점은 DB의 인식성이 좋음. } } |
active record 방식을 사용하였을 때 특정 컬럼만 가져오고 싶다면, 아래와 같이 기술하면 된다.
$this->db->select('id'); $this->db->select('name'); $this->db->select(substr('chardate',1,4) chardate); return $this->db_get_where('tablename',array('id'=>$topic_id))->row(); |
* controller/topic.php
function index() { $this->load->database(); $this->load->model('topic_model'); //topic_model.php 파일을 불러오겠다. $data=$this->topic_model->gets(); //topic_model.php 의 gets라는 method를 사용하여 $data에 넣겠다. $this->load->view('main',array('topics'=>$data)); } function get($id) { $this->load->database(); $this->load->model('topic_model'); $topic=$this->topic_model->get($id); $this->load->view('get',array('topic'=>$topic)); //기존 $id에서 $topic 값을 가져오는 것으로 수정. } |
* views/get.php
This is get page. <article> <h1><?=$topic->id?></h1> <div><?=$topic->name?></div> </article> |
다음에는 현재 구현한 소스를 가지고 간결화 하는 작업을 할 것이다.
model 수업을 들으면서 머리가 많이 복잡해지기 시작했다.
어떤 흐름인지는 알겠는데, 정리가 되지 않는 찝찝함?
동영상 강의를 반복적으로 듣다가 잊지 않기 위해 블로그에 글을 적어본다.
담주에 보게 되면 또 기억할 수 있을지가 의문이네 ㅠㅠ
'Programming > CodeIgniter' 카테고리의 다른 글
Model(4/5) - 각 리스트 정보 페이지마다 전체리스트 생성 구현 (0) | 2015.09.07 |
---|---|
Model(3/5) - 소스 중복제거 (0) | 2015.09.07 |
Model(1/5) - 설정 및 사용 (0) | 2015.09.04 |
View (0) | 2015.09.04 |
Controller (0) | 2015.09.04 |