4.6. 订单模块调整

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

订单模块调整

我们先来回顾一下众筹的两个业务逻辑:

  1. 众筹订单不支持用户主动申请退款;
  2. 在众筹成功之前订单不可发货。

可见当订单是一个众筹商品订单时,我们的系统会有与普通订单不同的处理逻辑。

在现有的数据库结构下,要实现这些逻辑时只能通过判断订单下 SKU 对应商品是否众筹商品才能确定是否是一个众筹商品订单,这样不仅实现繁琐,还会有不少额外的 SQL 查询。

为了解决这个问题,我们可以在订单表中添加一个 type 字段来表明这个订单是普通商品订单还是众筹商品订单。

1. 创建数据库迁移文件

首先通过 make:migration 命令创建数据库迁移文件:

$ php artisan make:migration orders_add_type --table=orders

database/migrations/< your_date >_orders_add_type.php

.
.
.
    public function up()
    {
        Schema::table('orders', function (Blueprint $table) {
            $table->string('type')->after('id');
        }...

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

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

上一篇 下一篇
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
贡献者:1
讨论数量: 4

Flourishing
老师,帮我看看这个啥意思?
0 个点赞 | 4 个回复 | 问答 | 课程版本 5.5
heibai_2018
想问一个题外话
0 个点赞 | 3 个回复 | 分享 | 课程版本 5.8
xuelong
items [0] 的问题
0 个点赞 | 2 个回复 | 问答 | 课程版本 5.8
mcxzyang
OrdersController 判断错误 ?
0 个点赞 | 1 个回复 | 问答 | 课程版本 5.5