8.4. 用户界面 - 确认收货

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

确认收货

上一节我们完成了后台的发货操作,这一节我们要来实现用户端确认收货的功能。

1. 控制器

首先在 OrdersController 中新增 received() 方法作为确认收货的接口:

app/Http/Controllers/OrdersController.php

.
.
.
    public function received(Order $order, Request $request)
    {
        // 校验权限
        $this->authorize('own', $order);

        // 判断订单的发货状态是否为已发货
        if ($order->ship_status !== Order::SHIP_STATUS_DELIVERED) {
            throw new InvalidRequestException('发货状态不正确');
        }

        // 更新发货状态为已收到
        $order->update(['ship_status' => Order::SHIP_STATUS_RECEIVED]);

        // 返回原页面
        return redirect()->back();
    }

2. 路由

接下来添加对应的路由:

routes/web.php

.
.
.
Route::group(['middleware' => 'auth'], function() {
    ....

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

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

上一篇 下一篇
Summer
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
贡献者:2
讨论数量: 6

不负韶华。
为什么使用 axios 发起 post 请求时 不用携带 csrf_token?
1 个点赞 | 7 个回复 | 问答 | 课程版本 5.5
Flourishing
关于订单是否已经支付
1 个点赞 | 3 个回复 | 问答 | 课程版本 5.5
FiveEggs
用户忘记点击确认收货,怎么做类似淘宝自动收货处理?
0 个点赞 | 5 个回复 | 问答 | 课程版本 5.5
xuejd3
确认收货时,账单已退款
0 个点赞 | 1 个回复 | 问答 | 课程版本 5.8