CakePHP - Paginating an Array

Posted by Ashok on Stack Overflow See other posts from Stack Overflow or by Ashok
Published on 2010-05-13T17:08:11Z Indexed on 2010/05/13 17:14 UTC
Read the original article Hit count: 168

Filed under:

Cake handles pagination of a model with a simple $this->paginate(), but what should I use if I want to paginate a array of values?

The Scenario is like this:

$this->set('sitepages', $this->paginate());

This code in my index() returns an array like

Array
(
    [0] => Array
        (
            [Sitepage] => Array
                (
                    [id] => 13
                    [name] => Home
                    [urlslug] => home
                    [parent_id] => 1
                    [page_title] => Welcome to KIAMS, Pune
                    [order] => 1
                )   
        )
    [1] => Array
        (
            [Sitepage] => Array
                (
                    [id] => 26
                    [name] => About Us
                    [urlslug] => aboutus
                    [parent_id] => 1
                    [page_title] => 
                    [order] => 2
                )
        )
    [2] => Array
        (
            [Sitepage] => Array
                (
                    [id] => 27
                    [name] => Overview of KIAMS
                    [urlslug] => aboutus/overview
                    [parent_id] => 26
                    [page_title] => 
                    [order] => 2
                )
        )

I retrieved the same data using $this->Sitepage->find('all') and then performed some manipulations as required and form a array which is very similar to the above one, but the ordering gets changed. I want to paginate this new array and pass it to the view. I tried

$this->set('sitepages',$this->paginate($newarray))

But the data is not getting paginated. Can some one please help with paginating the $newarray in CakePHP?

© Stack Overflow or respective owner

Related posts about cakephp