【发布时间】:2021-01-20 07:15:06
【问题描述】:
我的数据库中有products、categories 和category_product(数据透视表)。
我想在相同的响应中返回类别信息和产品与分页。
我知道我可以使用Product::with('categories')->pagination(20),
但我不想将类别附加到每个产品。
让产品属于特定类别的正确方法是什么?
我已经尝试过了,但我无法获得分页:
$category = Category::where('slug', $slug)->first();
$products = $category->products()->paginate(20);
return response()->json([
'category' => new CategoryResource($category),
'products' => ProductResource::collection($products),
]);
这是我的产品资源
return [
'id' => $this->id,
'name' => $this->name,
'description' => $this->description,
'code' => $this->code,
'image' => $this->image,
'quantity' => $this->quantity,
'price' => $this->price,
'slug' => $this->slug,
'sort_order' => $this->sort_order,
'created_at' => $this->created_at,
'updated_at' => $this->updated_at,
'categories' => CategoryResource::collection($this->whenLoaded('categories')),
];
【问题讨论】:
-
你能附上你的
ProductResource代码吗? -
我刚刚添加了。