[Laravel 扩展包]Laravel 轻量级购物车扩展包
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 源码