用拉拉威尔语传呼急切的负载



我正在尝试通过类别获取产品,并在类别下显示产品。此外,我需要为每个类别的产品添加页码。我尝试了下面的解决方案,我得到了所有的类别,但我只得到了一个类别的产品,而其他类别的产品都是空的。

$this->category->with(['products' => function ($query) {
$query->paginate(3);
}])->get();

我相信您想要的是对类别进行分页,但只能对带有产品的类别进行分页。阅读whereHas(https://laravel.com/docs/8.x/eloquent-relationships#querying-关系存在(

样本代码:

$this->category->with([
'products' => function ($query) {
$query->limit(3);
}
])
->whereHas('products')
->paginate(10);

如果您不想限制3个产品,那么只需从with数组中删除闭包即可。如果您知道您不会有太多的类别,那么您可以完全删除分页(因此可以检索数据库中的所有类别,但只能检索那些有产品的类别(。

最新更新