我创建了一个名为MY_Model的核心类,它扩展了CI_Model。在这个类中,我创建了一个链接方法来获取所有带有分页的记录:
// Take record with paging.
public function get_all_paged()
{
// get argument that passed
$args = func_get_args();
// get_all_paged($offset)
if (count($args) < 2) {
$this->get_real_offset($args[0]);
$this->db->limit($this->_per_page, $this->_offset);
}
// get_all_paged(array('status' => '1'), $offset)
else {
$this->get_real_offset($args[1]);
$this->db->where($args[0])->limit($this->_per_page, $this->_offset);
}
// return all record
return $this->db->get($this->_tabel)->result();
}
所以,我刚刚在我的控制器上使用了这个, 例如
public function index($offset = NULL) {
$karyawan = $this->karyawan->get_all_paged($offset); //get all
}
我真的很混淆用连接获取所有记录,我知道加入CI就像这样:
public function get_all_karyawan() {
$this->db->select('tb_1 , tb_2');
$this->db->from('tb_1');
$this->db->join('tb_2', "where");
$query = $this->db->get();
return $query->result();
}
如何在MY_Model中将其变成链?
任何帮助它如此赞赏......
答案 0 :(得分:1)
查询构建器中的好处是,您可以将db
方法链接到get()
。因此,您可以以不同的方式定义,选择,查询,限制。
例如:
public function category($category)
{
$this->db->where('category_id', $category);
return $this;
}
public function get_posts()
{
return $this->db->get('posts')->result();
}
你可以获得所有帖子:
$this->model->get_posts();
或按类别:
$this->model->category(2)->get_posts();
所以,在你的模型中:
public function get_all_karyawan() {
$this->db->select('tb_1 , tb_2');
$this->db->join('tb_1', "where");
// Here you make able to chain the method with this
return $this;
}
在您的控制器中:
public function index($offset = NULL) {
$karyawan = $this->karyawan->get_all_karyawan()->get_all_paged($offset);
}