Reputation: 897
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
Upvotes: 1
Views: 2386
Reputation: 39
$drivers = Driver::
select('id','first_name','last_name','phone_number','registration_id')
->orderBy('first_name', 'asc')
->paginate($limit);
Delete ;
after paginate($limit)
https://laravel.com/docs/5.3/pagination
Upvotes: 1
Reputation: 163948
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);
Upvotes: 1