3.5. 完善前台商品列表页

本教程最新版为 8.x,当前版本已放弃维护,请阅读最新版本!

完善前台商品列表页

上一节我们完成了商品结构的调整,这一节我们将要实现用户在前端根据类目来筛选商品。

1. 修改控制器

首先我们需要修改 ProductsController,使之支持按类目 ID 来筛选商品:

app/Http/Controllers/ProductsController.php

use App\Models\Category;
.
.
.
    public function index(Request $request)
    {
        $builder = Product::query()->where('on_sale', true);
        if ($search = $request->input('search', '')) {
            .
            .
            .
        }

        // 如果有传入 category_id 字段,并且在数据库中有对应的类目
        if ($request->input('category_id') && $category = Category::find($request->input('category_id'))) {
            // 如果这是一个父类目
            if ($category->is_directory) {
                // 则筛选出该父类目下所有子类目的商品
                $builder->whereHas('category', function ($query) use ($category) {...

本文章首发在 LearnKu.com 网站上。

为了保证课程的高品质,我们需要对课程进行收费。付费后 才能观看剩余内容。 购买

上一篇 下一篇
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 7

zhoubohan
在显示个别 category 时会显示如下报错
0 个点赞 | 6 个回复 | 问答 | 课程版本 5.5
uasemax
老师,请问 ?? 和 ?: 用法相同吗?
0 个点赞 | 5 个回复 | 问答 | 课程版本 5.7
272361997
Laravel shop 5.8 关于面包屑 category 为空,前端页面报错问题。
0 个点赞 | 4 个回复 | 分享 | 课程版本 5.8
TravelerLi
增加了 CSS,刷新页面没效果
0 个点赞 | 4 个回复 | 问答 | 课程版本 5.5
Flourishing
老师,不加分类 ID 的隐藏域会有什么影响?
0 个点赞 | 2 个回复 | 问答 | 课程版本 5.5
wxfor
laravel-admin上传图片的图片路径怎么没有保存到数据库?
0 个点赞 | 0 个回复 | 问答 | 课程版本 8.x