首页 > 解决方案 > Laravel 6.15 是否兼容任何购物车包?

问题描述

我正在尝试为一个大学项目开发​​一个基于 Laravel 的电子商务,没什么花哨的,它不会发布。
前提:我是一名学生和初学者,对于我的任何错误,我深表歉意。我正在使用 Laravel 6.15。

我制作了一个非常基本的 HTML+CSS 模板并为电子商务构建了一个自定义数据库,加载了一些记录仅用于测试目的:一切正常(显示产品,数据正确,没有错误)。我必须建立一个购物车才能让最终用户购买东西,但是尽管尝试了几个包,我还是无法将商品添加到我的购物车中。

这是我尝试过的:

我的代码如下(截至上次更新,所以这里我使用的是 Treestoneit 的购物车)。

购物车控制器.php

use Illuminate\Http\Request;
use App\Product;
use Treestoneit\ShoppingCart\Facades\Cart;
...
public function store(Request $request)
    {
    $product = Product::findOrFail($request->id);
    Cart::add($product, 1);
    return redirect()->route('cart.index')->with('success_message', 'Item added to cart successfully!');
}

产品.blade.php

<form action="{{ route('cart.store', $product) }}" method="POST">
    {{ csrf_field() }}
    <button type="submit" class="btn btn-primary">Add to cart!</button>
</form>

($product 被正确检索,没有问题,这里它被发送到上面的 store() 函数)

购物车.blade.php

...
{{ Cart::items() }}
...
@if (session()->has('success_message'))
    {{ session()->get('success_message') }}
@endif

@if (count($errors) > 0)
    @foreach ($errors->all() as $error)
       <p>{{ $error }}</p>
    @endforeach
@endif

(在切换到最新的包之前,我使用@foreach 语句逐项打印出整个购物车,但为了避免任何语法错误,决定让它变得简单,这里 Cart::items() 应该只打印购物车内容,但它是空的:'[]')。

笔记:

在这一点上,我不知道我正在进入什么,我试图了解我是否遗漏了一些东西或者是否存在实际问题。任何人都可以帮助或建议兼容的软件包吗?提前致谢。

标签: phplaravele-commerceshopping-cart

解决方案


我们是 Laravel 的 TreeStoneIT 购物车的创造者。

很难确定,因为没有完整的来源可以重现该问题,我的猜测是具有Buyable特征的模型可能没有正确设置,但也可能是其他东西。

您可以在此处查看完整的工作示例:https ://github.com/treeStoneIT/laravel-commerce


推荐阅读