table_name, 'default'); } /** * @param string $map_key * @param string $map_value * @param array $where * @param string $select * @param $groupby * @return array */ public function map_groupby($map_key = 'id', $map_value = '', $where = array(), $select = '', $groupby){ $map = array(); if($select) { $this->db->select($select, false); } if($where) { $this->db->where($where); } $this->db->group_by($groupby); $list = $this->db->get($this->table_name)->result_array(); if($list) { foreach($list as $item) { if($map_value) { $map[$item[$map_key]] = $item[$map_value] ? $item[$map_value] : $item; } else { $map[$item[$map_key]][] = $item; } } } return $map; } }