简体   繁体   English

如何使用 Gloudemans Shopping Cart 在数据库中获取“列中的单个购物车项目”

[英]How to get “individual cart items from a column” in the database using Gloudemans Shopping Cart

I am using Gloudemans Shopping Cart package and trying to get "individual cart items from a cart column" in the database, like ' name, price, qty ', but for some reasons when I do:我正在使用Gloudemans 购物车 package并尝试在数据库中获取“购物列中的单个购物车项目”,例如“名称、价格、数量”,但由于某些原因,当我这样做时:

{{ $order['cart]['name'] }}

I get an error saying: Illegal string offset 'name'我收到一条错误消息:非法字符串偏移“名称”

But if I do:但如果我这样做:

{{ $order['cart'] }}

I get the whole cart item: {"027c91341fd5cf4d2579b49c4b6a90da":{"rowId":"027c91341fd5cf4d2579b49c4b6a90da","id":1,"name":"web development","qty":1,"price":70,"weight":1,"options":[],"discount":0,"tax":0,"subtotal":70},"370d08585360f5c568b18d1f2e4ca1df":{"rowId":"370d08585360f5c568b18d1f2e4ca1df","id":2,"name":"graphics","qty":1,"price":100,"weight":1,"options":[],"discount":0,"tax":0,"subtotal":100}}我得到了整个购物车项目: {"027c91341fd5cf4d2579b49c4b6a90da":{"rowId":"027c91341fd5cf4d2579b49c4b6a90da","id":1,"name":"web development","qty":1,"price":70,"weight":1,"options":[],"discount":0,"tax":0,"subtotal":70},"370d08585360f5c568b18d1f2e4ca1df":{"rowId":"370d08585360f5c568b18d1f2e4ca1df","id":2,"name":"graphics","qty":1,"price":100,"weight":1,"options":[],"discount":0,"tax":0,"subtotal":100}}

Please, how do I solve this?请问,我该如何解决这个问题?

Here are my files:这是我的文件:

CheckoutController.php CheckoutController.php

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\AccountOrder;
use Cart;

class CheckoutController extends Controller
{
    public function myOrder($id)
    {
        $orders = auth()->user()->orders;
        return view('frontend/academic/myOrder')
        ->with('orders', $orders);
    }
}

ShoppingController.php ShoppingController.php

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Category;
use App\AccountOrder;
use Cart;

class ShoppingController extends Controller
{
    //function to add course to cart
    public function add_to_cart(Request $request, $pid)
    {
            
            
            $product = Category::findOrFail($pid);
                                                   
                //  insert into cart
                $cart = Cart::add([
                    'id' => $product->id,
                    'name' => $product->name,
                    'price' => $product->price,
                    'qty' => 1,
                    'weight' => 1,
                ]);

                if(route('cart.success', $pid))                   
                {
                    if($request->status === 'successful')
                    {
                        $data = auth()->user()->orders()->create([
                            'cart' => Cart::content(),
                            'transaction_id' => $request->transaction_id,
                            'status' => $request->status
                        ]);

                        //Cart::destroy();
                        dd($data);
                        return view('frontend/academic/success');
                    }

                }
            return redirect('cart');

    }
}

myOrder.blade.php myOrder.blade.php

@extends('layouts.front');

@section('content')
<div class="container-fluid">
    <div class="row medium-padding120 bg-border-color">
        <div class="container">
            <div class="order">
                <h2 class="h1 order-title text-center">My Order</h2>
                @foreach ($orders as $order)
                <div class="card mb-5">
                    <div class="card-header bg-info">
                        Purchased Date: {{$order->created_at->toFormattedDateString()}}
                    </div>
                    <div class="card-body">
                        <ul class="list list-group">
                            <li class="list-group-item">
                                //Here is my Problem
                                {{$order['cart']['name']}}  {{$order['cart']['price']}}
                                <span class="badge"></span>
                            </li>
                        </ul>
                    </div>
                    <div class="card-footer bg-info">
                        <?php $variable = $order->cart ?>
                         //Here is also my Problem
                        <strong>Total Price: {{ $order['cart']['subtotal'] }} </strong>
                    </div>
                </div>
                @endforeach
            </div>
        </div>
    </div>
</div>


@endsection

Try to use a second @foreach to iterate through the order's cart:尝试使用第二个@foreach来遍历订单的购物车:

@foreach ($order['cart'] as $cartItem)
   <li class="list-group-item">
     {{$cartItem->name}}  {{$cartItem->price}}
     <span class="badge"></span>
   </li>
@endforeach

You have to use @foreach for individual cart item您必须对单个购物车项目使用@foreach

@foreach ($order['cart'] as $key=>$cart)
    <li class="list-group-item">
        {{$cart->name}}  {{$cart->price}}
        <span class="badge"></span>
    </li>
@endforeach

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 从数据库检索购物车项目 - Retrieve shopping cart items from database 如何将购物车中的多个产品作为单独的行插入数据库中 - How can i insert multiple products from the shopping cart into the database as individual rows 如何使用 Laravel 中的 Gloudemans\Shoppingcart 更新一个 function 中的购物车 - How to update cart in one function using Gloudemans\Shoppingcart in Laravel 如何使用Gloudemans / shoppingcart将不同桌子的产品添加到一个购物车中? - How to add products from different table in one cart using Gloudemans/shoppingcart? 将购物车项目存储到Cookie和数据库中 - Storing shopping cart items into cookies and database 使用会话变量在购物车中添加和删除商品 - Add and remove items from shopping cart using session variables PHP-如何将购物车中的多个项目插入数据库? - PHP - How can I insert multiple items from a shopping cart into the database? 将项目添加到购物车 - Add items to shopping cart 购物车问题与更新数量和从购物车中删除项目 - Shopping cart issue with updating the quantity and removing items from the cart 当用户离开数据库的“购物车”页面时,如何保存购物车 - How can I keep a shopping cart populated when the user navigates away from the 'cart' page, wihtout using a database
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM