Skip to content

Instantly share code, notes, and snippets.

@nellytadi
Last active April 13, 2023 15:12
Show Gist options
  • Save nellytadi/55d3e7fdde472ba60850f554352c1825 to your computer and use it in GitHub Desktop.
Save nellytadi/55d3e7fdde472ba60850f554352c1825 to your computer and use it in GitHub Desktop.
Manual Paginate In Laravel
<?php
namespace App\Http\Controllers\Api;
use App\Model;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use Illuminate\Pagination\LengthAwarePaginator as Paginator;
class TestController extends Controller
{
public function test(Request $request){
$array = Model::select('id','organisation_name','company_status','created_at','updated_at')->where('publish', 1)->limit(15)->get();
$total=count($array);
$per_page = 5;
$current_page = $request->input("page") ?? 1;
$starting_point = ($current_page * $per_page) - $per_page;
$array = array_slice($array, $starting_point, $per_page, true);
$array = $array->toArray();
$array = array_slice($array, $starting_point, $per_page, true);
$array = new Paginator($array, $total, $per_page, $current_page, [
'path' => $request->url(),
'query' => $request->query(),
]);
dd($array);
}
}
@RicardoRL
Copy link

Oh right, excellent, thank you so much!!

@nellytadi
Copy link
Author

Oh right, excellent, thank you so much!!

Glad i could help :)

@manihs
Copy link

manihs commented Jun 24, 2020

short and simple = awesome 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment