8.3. 管理后台 - 订单发货
订单发货
上一节的订单详情页我们只是完成了展示功能,接下来我们要在详情页上添加发货的功能。
1. 控制器
在 OrdersController 里新增一个 ship() 方法作为发货的接口:
app/Admin/Controllers/OrdersController.php
use Illuminate\Http\Request;
use App\Exceptions\InvalidRequestException;
.
.
.
    public function ship(Order $order, Request $request)
    {
        // 判断当前订单是否已支付
        if (!$order->paid_at) {
            throw new InvalidRequestException('该订单未付款');
        }
        // 判断当前订单发货状态是否为未发货
        if ($order->ship_status !== Order::SHIP_STATUS_PENDING) {
            throw new InvalidRequestException('该订单已发货');
        }
        // Laravel 5.5 之后 validate 方法可以返回校验过的值
        $data = $this->validate($request, [
            'express_company' => ['required'],
            'express_no'      => ['required'],
        ], [],... 
           L05 Laravel 教程 - 电商实战 ( Laravel 5.8)
L05 Laravel 教程 - 电商实战 ( Laravel 5.8)  
                     
                     
          
           
          
           
             
             关于 LearnKu
                关于 LearnKu
               
                     
                     
                     粤公网安备 44030502004330号
 粤公网安备 44030502004330号