方法GetAll()的最佳实践模型是什么? 我有问题,当我可以添加parametr:where,group,where itd。
我的主张:
1) 型号:
public function GetAll()
{
$this->db->select('articles.*');
$this->db->from('articles');
$this->db->join('admins', 'admins.id=articles.admin_id');
$this->db->where('active', 1)
return $this->db;
}
控制器:
$articles = $this
->articles_m
->GetAll()
->where('id', 2)
->get()
->result()
;
2)经典 型号:
public function GetAll($params = array())
{
$this->db->select('articles.*');
$this->db->from('articles');
$this->db->join('admins', 'admins.id=articles.admin_id');
$this->db->where('active', 1)
if (array_key_exists('where', $params)) {
$this->db->where($params['where']);
}
return $this->db->get();
}
控制器:
$articles = $this
->articles_m
->GetAll(['where' => ['id' => 2]])
->result()
;
什么更好?
选项1非常有弹性。我可以使用所有方法活动记录。但是选项2我必须定义/ order_by等组。当我可以分组时#34;其中"。
答案 0 :(得分:0)
public function GetAll($id='', $search='', $limit='', $order='')
{
$this->db->select('A.*');
$this->db->from('articles as A');
$this->db->join('admins as B', 'B.id=A.admin_id');
$this->db->where('A.active', '1');
if($id != ''){
$this->db->where('A.id', $id);
}
...... etc
return $this->db;
}
你可以混合,添加数组支持等