gpt4 book ai didi

php - 正确使用 Laravel 的分页方法?

转载 作者:搜寻专家 更新时间:2023-10-31 20:58:24 25 4
gpt4 key购买 nike

当我使用带有以下语句的 paginate 方法时:

$user = User::where('id', 1)->first();
$images = $user->images->paginate(3);

我收到以下错误:

Method Illuminate\Database\Eloquent\Collection::paginate does not exist

但是当我用下面的语句调用它时:

$images = Image::where('user_id', $user->id)->paginate(3);

它相应地工作......我对 Laravel 还很陌生,所以请原谅我的无知,但结果差异的原因是什么?两个语句都不返回集合吗?

最佳答案

paginate 是查询构建器而非集合的一种方法。如果您想对集合进行分页,则需要进行手动分页:

$imagesPage = new LengthAwarePaginator($user->images->forPage($page,3), $user->images->count(), 3, $page); //Where $page is the current page number

或者,您可以对查询构建器进行分页:

$images = $user->images()->paginate(3); 

请注意,如果您使用第二种方法,则不需要预先加载图像。

关于php - 正确使用 Laravel 的分页方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50226653/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com