0

据我所知,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() }} 

我收到一个错误。

4

2 回答 2

2

在 where 子句之后对查询进行分页:

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

在你的刀片中:

{{ $articles->links() }}

@foreach($articles as $article)
    { ... }
@endforeach
于 2019-01-14T14:01:52.350 回答
1

添加到@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();
于 2019-01-14T14:04:40.737 回答