CodeIgniter3でブログサンプルを作成No.3
前回は登録処理を作ったのでCRUDの残りを作成する。
コントローラ、ビューは大体同じなので省略。
ブログ記事の一覧用に全件取得するget_allメソッドを作成する。
<?php public function get_all() { $query = $this->db->get('blog'); return $query->result_array(); }
getメソッドの第1引数はテーブル名で第2引数にLIMIT、第3引数にオフセットを設定できるので、
件数を制限したい場合に便利。
次に編集画面用に1件だけレコードを取得するgetメソッドを作成する。
<?php public function get($id = 0) { $query = $this->db->get_where('blog', array('id' => $id)); return $query->row_array(); }
get_all()の時はresult_array()を返していたが、1件だけの時はrow_array()で返す。
次に編集用のupdateメソッド。
<?php public function update() { $data = array( 'title' => $this->input->post('title'), 'description' => $this->input->post('description'), 'updated_at' => null, ); $this->db->where('id', $this->input->post('id')); $this->db->update('blog', $data); }
更新は変更したいデータを$dataに詰めてdb->updateするだけ。
最後に削除用のdeleteメソッド。
<?php public function delete($id) { $this->db->delete('blog', array('id' => $id)); }
CodeIgniterはSQLの書き方が何通りかある。公式ドキュメント
時間がある時にちゃんとしたサンプルアプリを作成したい。。。