Hi @mikelovely The second one.
All the pagination should be do it by the database, if you bring all the records to your app someday it will hang out.
The fastest pagination available is not paginate but simplePaginate but you will not know in which page you are because it is based on the last id that you have and continue on the next id to take the next X rows
Look for the simplePaginate section (https://laravel.com/docs/5.8/pagination#paginating-query-builder-results)