nkimraの日記

技術的なメモのブログ。

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の書き方が何通りかある。公式ドキュメント
時間がある時にちゃんとしたサンプルアプリを作成したい。。。

Codeigniter3記事まとめ - nkimraの日記