Search code examples
phplaravelapilaravel-5.3laravel-pagination

Laravel 5.3 API Pagination


i'm working on an API, and i'm stuck at pagination first i should send only first 10 records later based on the limit value passed by user i should send the next 10 records

so for i did this

//search Drivers
public function getSearchList($limit) 
{
    //dd($limit);
    $drivers = Driver::paginate($limit)
               ->select('id','first_name','last_name','phone_number','registration_id')
               ->orderBy('first_name', 'asc')
               ->get();

    return Response::json([
        'data' => $drivers->all()
    ]);
}

but i'm getting error on requesting http://localhost:8000/api/v1/search-list/10

BadMethodCallException in Macroable.php line 74:
Method select does not exist.

i thing i'm not doing it right

looking forward for much needed help

thank you


Solution

  • You should use paginate() method instead of get():

    $drivers = Driver::select('id', 'first_name', 'last_name', 'phone_number', 'registration_id')
               ->orderBy('first_name', 'asc')
               ->paginate($limit);