You may use this with paginate()
, it returns an instance of Illuminate\Pagination\Paginator
:
json_encode($invoices->toArray());
enter code here
Also, you may only pass the data array like:
json_encode($invoices->toArray()['data']);
Or this:
$invoices = $invoices->toArray();
json_encode($invoices['data']);
So, only data (records) will be encoded
but other properties won't be available in the json
, in this case you may need all properties such as tota
, per_page
etc. An example of json
encode data:
$user = User::paginate(5);
json_encode($user->toArray());
Output:
string '{"total":10,"per_page":5,"current_page":1,"last_page":2,"from":1,"to":5,"data":[{"id":1,"first_name":"Sheikh","last_name":"Heera","username":"heera","email":"heerasheikh@ymail.com","role_id":1,"bio":"Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.","profile_picture":"http://blog.dev/images/user_1/profile_image/heera_new'... (length=2618)
Update: Well, it could be done using toJson()
directly as well (I missed it):
return Invoices::paginate(10)->toJson();