gpt4 book ai didi

javascript - 基于单选按钮的结账表单计算 - Laravel 5.2

转载 作者:行者123 更新时间:2023-12-03 07:07:54 24 4
gpt4 key购买 nike

我正在使用 laravel 5.2 构建一个电子商务网站

我可以将我的产品添加到存储在 session 中的购物车中。我可以查看我的购物车,当我点击确认时,我会进入结账页面。

购物车(按预期工作): shopping-cart

我在结帐页面上的所有商品仍仅在 session 中。这是好的做法还是应该在进入结帐页面后将内容存储在数据库中? .

在我的结帐页面上,我有几个单选按钮来选择运送方式。我想根据我的选择进行计算。处理这个问题的最佳方法是什么?我想避免在单选按钮下方放置提交按钮来确认选择。一个重要的注意事项是,我在此页面上还有一个优惠券代码字段,我使用 get 请求计算该优惠券代码。所以刷新页面并不是一个真正的选择,因为我的优惠券计算将会消失。

结帐页面:(单选按钮位于此处) enter image description here

我能想到的两个选项:

  • 使用 JavaScript 在客户端进行计算,并添加隐藏输入字段,以便当用户单击确认订单时,它们会保存到订单数据库表中。

  • 购物车后开始将数据保存到de数据库中,这种做法的问题是仍然丢失了很多数据。例如正确的送货/帐单地址。

最佳答案

我最近实现了类似的东西。

我有一个购物车 table 。

Cart Table

我有一个订单表。

Orders table

对我来说,将购物车存储在表格中更有意义,因为我可以轻松地将购物车中的元素与订单相关联。此外,我不必担心 session 过期,如果他们几周后回来,他们的购物车仍会处于离开时的状态。

当用户完成购买时,我会使用相应的 order_id 更新购物车表,并将其标记为完整订单。

它位于我存储账单和送货信息的订单表中。

如果用户输入优惠券,我会更新购物车表中商品的价格。我正在使用 ajax 调用处理所有优惠券和运费计算,以维护页面的状态。

我发现拥有购物车表的好处之一是在我的用户模型中,我可以定义一种关系,使我能够快速获取用户购物车中的所有商品

public function cart()
{
return $this->hasMany('App\Cart')->where('complete', 0);
}

这将允许我在集合上使用 Laravel 的求和功能

 // Get the total value of items currently in user's cart.
$total = $user->cart->sum(function ($item) {
return $item->price * $item->qty;
});

希望这能为您指明正确的方向。

任何其他问题请给我留言。

关于javascript - 基于单选按钮的结账表单计算 - Laravel 5.2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36737147/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com