public function get_categories($category_name = false, $order_by = null, $sort = 'DESC', $limit = null, $offset = 0) {
$this->db->select('a.*, c.name as category_name');
$this->db->from('articles as a');
$this->db->join('categories AS c', 'a.category_id = c.id ','LEFT');
if ($category_name)
{
$this->db->where('categories.name', $category_name);
}
if($limit != null) {
$this->db->limit($limit, $offset);
}
if($order_by != null) {
$this->db->order_by($order_by, $sort);
}
$query = $this->db->get();
return $query->result();
}