Как реализовать нумерацию страниц с коллекциями Laravel? - PullRequest
0 голосов
/ 14 января 2019

Насколько я знаю, нумерация страниц Laravel не работает с коллекциями Laravel (Eloquent). Например:

$articles = Article::with('category')->where('status', 'submitted')->get();

Я пытаюсь сделать нумерацию страниц с кодом выше, но where('status', 'submitted') не работает.

Контроллер

$articles = Article::paginate(10);

лезвие

@foreach($articles->with('category')->where('status', 'submitted') as $article)
    { ... }
    {{ $articles->links() }} 

Я получаю ошибку.

Ответы [ 2 ]

0 голосов
/ 14 января 2019

Если добавить ответ @ Remul, если вы все еще хотите разбить коллекцию на страницы, вы можете сделать это с помощью метода forPage () . Например:

$collection = collect([1, 2, 3, 4, 5, 6, 7, 8, 9]);

$chunk = $collection->forPage(2, 3); 
// first argument is the page number 
// second one is the number of items to show per page

$chunk->all();
0 голосов
/ 14 января 2019

Разбивайте запрос после предложения where:

$articles = Article::with('category')->where('status', 'submitted')->paginate(10);

В вашем клинке:

{{ $articles->links() }}

@foreach($articles as $article)
    { ... }
@endforeach
...