Я хочу создать нумерацию страниц с возвратом в формате json, но получаю сообщение об ошибке, как показано ниже
ErrorException в строке Macroable.php 74:
Ссылки на метод не существует.
вот мой код контроллера
public function getcustomer($id){
$customer = Customer::find($id)->paginate(5);
return response()->json([$customer], 200);
}
и вот мой клинок
{{$customer->links('vendor.pagination.pagination')}}
Как я могу создать нумерацию страниц с помощью json response ()?
Классы результатов Lagvel paginator реализуют
Illuminate\Contracts\Support\Jsonable
Интерфейс контракта и выставитьtoJson
метод, поэтому очень легко конвертировать ваши результаты разбивки на страницы в JSON.
https://laravel.com/docs/5.3/pagination#converting-results-to-json
Если вы хотите создавать ссылки, вы должны сделать это вручную. Или вы должны вернуть нумерацию страниц как обычно и использовать render()
метод для создания ссылок и создания копии объекта пагинации для преобразования его в JSON с toJson()
,
Я работаю в той же проблеме, что и упомянутая выше, и мне любопытно, как вы решили ее в конце.
В моем случае я делаю API-запрос, который получает следующий декодированный результат:
{#388 ▼
+"total": 699
+"per_page": 50
+"current_page": 1
+"last_page": 14
+"next_page_url": "API_URL?page=2"+"prev_page_url": null
+"from": 1
+"to": 50
+"data": array:50 [▶]
}
И в моем шаблоне лезвия:
{{ $products->links() }}
В моем шаблоне блейда написано, что метод links не существует, вероятно, из-за структуры JSON. Как создать ссылки вручную, например, с render ()?