我想限制Neoeloquent查询给出的结果数,take()工作正常,但我不知道我应该如何使用skip()?我读了laravel 5.2 Do c。我正在尝试使用skip(10) - > take(10)但它说“方法跳过不存在”。 这是我的代码:
$artifact=Models\Artifact::where('aid',$request->aid)->first();
$comments=$artifact->comments->take(10);
答案 0 :(得分:1)
您提供的答案是,您将获取所有评论,因此大量的评论将成为性能的瓶颈,尤其是您不需要所有这些评论。你可以做的是分别使用方法limit
和offset
对查询使用take
和skip
,如下所示:
$comments = $artifact->comments()->take(10)->skip(5)->get()
答案 1 :(得分:0)
$comments=$artifact->comments->slice($startOffset, $count);
工作正常。另一个名为splice()的方法返回类似的值,但请考虑它将修改原始结果集。