私はMysqlからデータをフェッチする汎用モデル関数を作成しました。すべての選択データに対してこの機能を使用できます。codeigniterのモデル関数を簡略化する方法
//Controller
$where = array('user_id' => 1);
$data['all_rewards'] = $this->select->selectData('tbl_example1', $where, null, 'user_id', 10, 1);
//Model
public function selectData($table, $where, $group_by, $order_by, $limit, $start) {
$this->db->select('*');
$this->db->from($table);
if(!empty($where))
$this->db->where($where);
if(!empty($group_by))
$this->db->group_by($group_by);
if(!empty($order_by))
$this->db->order_by($order_by, 'DESC');
if(!empty($limit) or !empty($start))
$this->db->limit($limit, $start);
$query = $this->db->get();
return $query->num_rows() > 0 ? $query->result_array() : 0 ;
}
上記のコードはうまくいきます。
私はデータベースからデータを選択する機能以外に単純化された方法があることを知りたいだけです。私のアプローチが正しいかどうか。