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);
更多信息
我在使用 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);
更多信息