2013-03-09 2 views
0

У меня есть таблица db с элементами с соответствием group_id. Я хотел был бы показать эти детали в paginator как это:cakephp paginate с группой и группой

codeset_id - itemsInGroupCount 
group1  -  3 
group2  -  6 

Как я могу сделать это? У меня разные группы, но как мне получить счет?

Мой контроллер:

public function admin_index() { 
    $this->Codesetitem->recursive = 0; 
    $this->paginate = array(
     'Codesetitem' => array(
      'group' => 'codeset_id', 
      'order' => array('codeset_id' => 'asc') 
     )    
    ); 
    $this->set('codesetitems', $this->paginate()); 
} 
+0

У вас действительно так много групп, что вам нужно разбиение на страницы? – Raffaele

+0

У меня около 75 групп, возможно, может быть меньше. Но нет, мне не нужна нумерация. Если есть более простой способ сделать это, пожалуйста, дайте мне знать. – Chris

+0

Есть ли * относится к * отношениям между группами и элементами? Вы хотите показать имена групп вместе со списком боковых элементов? – Raffaele

ответ

2

Следующая, кажется, работает на моей стороне:

public $components = array('Paginator'); 

public function index() { 
    $this->Paginator->settings = array(
    'fields' => array('Item.group_id', 'COUNT(*) AS "Item.group_count"'), 
    'limit' => 3, 
    'group' => 'group_id' 
); 

    $this->set('items', $this->Paginator->paginate('Item')); 
} 

Я просто добавил COUNT(*) AS "Foo.bar" к ключу fields.

+0

Тогда вы просто вызываете group_count на ваш взгляд? Можете ли вы показать мне свое мнение? – Chris

+0

Это тестовый обзор. Я печатаю только $ items с var_dump() – Raffaele

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