0

我要求创建一个页面,显示所有类别的列表以及每个类别的最后 3 个产品。

类别和产品之间存在关系。

我正在尝试生成将返回 Json 响应的路由。

这是我的代码:

$category = Category::all()->load(["products"=>function($res){
            $res->take(3);
        }]);
        return $category->paginate(2);

但它返回一个错误:Collection::paginate does not exist.

这是什么意思?

谢谢

4

1 回答 1

1

all方法返回集合而不是查询构建器实例。您可以使用with代替load和使用paginate来获得分页结果:

return Category::with(["products" => function($res) {
    $res->take(3);
}])->paginate(2);

请注意,根据Laravel 文档

约束急切加载时,可能不使用和查询构建器方法limittake

于 2020-11-29T20:29:49.383 回答