Laravel eloquent 跳过方法

Laravel eloquent skip method


我在使用 laravel eloquent ORM 时遇到了问题。
基本上,我正在获取与用户相关的帖子以及他的评论,但是,我正在尝试集成某种分页(我一次只想发布 5 个帖子)。
使用跳过方法时,我总是收到以下 laravel 错误:

Method skip does not exist.

这是我实际使用的代码片段。

$posts = $account->posts->skip($page * 5)->take(5);

谁能给我任何帮助?
帐户模型检索与用户(关系)相关的帖子模型,但是,我想一次只收到 5 个帖子,以便在基于 ajax 的请求上使用它。

看起来您正在尝试对集合使用 skip()

试试这个:

$account->posts()->skip($page * 5)->take(5);

或者:

Account::with(['posts' => function($q) {
    $q->skip($page * 5)->take(5);
}])->get();

I'm trying to integrate some kind of pagination

为什么在这种情况下不使用 paginate?像

$account->posts()->paginate(5);

旧 post 但我发现另一个答案是,如果您使用的是 laravel 集合,则可以使用 slice() 而不是 skip() - 使用顶部的代码也可以

$posts = $account->posts->slice($page * 5)->take(5);

更多信息

Laracasts Slice