CodeIgniter Forums
[5.0] Model::paginate() - Printable Version

+- CodeIgniter Forums (https://forum.codeigniter.com)
+-- Forum: CodeIgniter 4 (https://forum.codeigniter.com/forumdisplay.php?fid=28)
+--- Forum: CodeIgniter 4 Discussion (https://forum.codeigniter.com/forumdisplay.php?fid=31)
+--- Thread: [5.0] Model::paginate() (/showthread.php?tid=81589)



[5.0] Model::paginate() - iRedds - 03-21-2022

Idea!

1. Model::paginate() -> Model::paginate(): Pager

2. class Pager implements PagerInterface, IteratorAggregate

3. Pager::setCollection(array $collection): self

4. Pager::getIteratior(): ArrayIterator

result
PHP Code:
$posts = (new Posts)->paginate(10);
$users = (new Users)->paginate(10);

foreach (
$posts as $post) {}

$posts->links(); // links for posts
$users->links(); // links for users 

No need to specify groups and pass a separate instance of the Pager class


RE: [5.0] Model::paginate() - InsiteFX - 03-21-2022

Looks good to me.


RE: [5.0] Model::paginate() - kenjis - 03-27-2022

It looks better than now.


RE: [5.0] Model::paginate() - MGatner - 03-30-2022

I would love to see a lot more iterators in the framework, especially in the middle layer between the database and everything else. We are doing way too much heavy preloading instead of yielding, like this is 2005 :O