如何将Laravel Crinsane购物车数据添加为订单?

问题描述 投票:0回答:1

为了从基于Crinsane的购物车创建订单并将其关联到(经过身份验证的)用户,我创建了Order模型,并在订单控制器中尝试了以下操作。

<?php

namespace App\Http\Controllers;

use Cart;
use App\Order;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Hash;
use App\Http\Controllers\Controller;

class OrderController extends Controller
{
    public function __construct()
    {
        $this->middleware('auth:api');
    }
    /**
     * store cart to authenticated user as order.
     *
     */
    public function store(Request $request)
    {
        $order = new Order;

        $cartcontent = Cart::content();
        $user = auth('api')->user();

        $order->user_id= $user->id;
        $order->cart_content= $cartcontent;
        $order->save();

    }
}

但是,它返回cart_content作为空数组[]。如何将购物车作为订单添加到订单数据库中?

laravel eloquent shopping-cart laravel-6 laravel-controller
1个回答
0
投票

来自docs

Cart :: content()当然,您还希望获得购物车的内容。这个是您将使用content方法的地方。此方法将返回您可以迭代并显示满足客户的需求。

您正在尝试在数据库内部插入一个集合。您需要从current instance of the Crinsane base card中获取数据,然后将数据插入为json或任何适合您的需求。

© www.soinside.com 2019 - 2024. All rights reserved.