编程

[Laravel 扩展包]Laravel 轻量级购物车扩展包

186 2024-07-03 00:12:00

binafy/laravel-cart 包增加了向 Laravel 应用添加购物车功能的能力。它简化了购物车项目的存储和管理,支持存储多种项目类型等:

特性:

  • 安全的卡信息存储和管理
  • 支持多个支付网关
  • 经常性支付和订阅管理
  • 健壮的验证和错误处理
  • 高度可定制和灵活的架构

以下是为给定用户检索购物车并将项目添加到购物车的示例:

$cart = Cart::query()->firstOrCreate(['user_id' => $user->id]);
$cartItem = new CartItem([
    'itemable_id' => $itemable->id,
    'itemable_type' => $itemable::class,
    'quantity' => 1,
]);
 
$cart->items()->save($cartItem);
 
// Or create and store
Cart::query()->firstOrCreateWithStoreItems(
    item: $product,
    quantity: 1,
    userId: $user->id
);

这个包还允许您在购物车中存储多个项目,购物车项目是多态模型关联。你可以使用 itemable() 方法访问与 CartItem 关联的底层模型:

$cartItem->itemable()->first();

更多详情可查看 Github 源码