2015-04-01 3 views
0

Я работаю в codeigniter. Моя проблема в том, что я хочу показать все строки с одинаковым идентификатором. Но когда я выполняю group_by, он выводит только одну строку этой группы.выберите ('*') с group_by в Codeigniter

ниже моя модель

function category_content(){ 
     $this->db->select('*'); 
     $this->db->from('category'); 
     $this->db->group_by('category_id'); 
     $query = $this->db->get(); 
     return $query->result_array(); 
    } 

Пожалуйста, помогите.

+0

вместо группового порядка использования по идентификатору –

+0

порядка использования по и если вы хотите, чтобы получить записи конкретного идентификатора используйте ИНЕК группу, является использование, если вы хотите, чтобы сгруппировать одинаковые строки. –

ответ

1

Согласно свойствам sql Group By группирует все соответствующие записи и покажет вам только один. Кажется, вы хотите отсортировать их по id. Тогда его лучше использовать order by

0

Смотрите пример надеюсь, что вы получите, чтобы знать это ..

tableA 
    _____ 
    id name marks 
    -- ---- --- 
    1 x  25 
    2 y  27 
    1 z  30 


    SELECT * FROM tableA group by id 

OUTPUT: 
1 x 25 
2 y 27 

в вашем случае вы должны использовать ИНЕКЕ.

SELECT * FROM tableA WHERE id=1 

OUTPUT: 
1 x 25 
1 z 30 


    function category_content(){ 
      $this->db->select('*'); 
      $this->db->from('category'); 
      $this->db->where($category_id); 
      $query = $this->db->get(); 
      return $query->result_array(); 
     } 

https://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html

Смежные вопросы