我正在为我的项目使用php laravel 5.2。我想用数据库表(表名是cart)设计购物车。cart表的列名称为session_id,用于确定每个用户的cart。
问题是:
或任何其他使用数据库设计购物车的想法?
确实没有理由将会话ID用作购物车所有者的标识符。处理购物车背后的逻辑非常简单,它等同于以下内容:
cart
当您与已登录的注册用户打交道时,才将购物车信息存储在数据库(您的表)中才有意义。在这种情况下,将购物车商品链接到用户的标识符为,因为用户只能拥有一个购物车。因此,表可以很简单:user_id
cart
+---------+------------+
| user_id | product_id |
+---------+------------+
user_id
andproduct_id
实际上实际上是处理购物车项目所需的全部,因为它只是一个列表,该列表引用的用户的详细信息存储在users
表中以及产品的存储的详细信息在products
表中。当然,当来宾用户将一些项目添加到购物车(此时已存储在会话中)时,如果该来宾决定在会话购物车中有东西时决定登录,则添加(更准确地说是同步)可能是有意义的登录过程成功后,这些项目将与数据库一起使用。
因此,如果用户自上次登录以来已经在数据库购物车中拥有一些产品,那么当前会话购物车中的新产品将被添加到旧产品中。尽管您是要同步商品还是完全覆盖它们以仅保留新购物车商品,这是您的选择。
因此,遵循上述准则,无需再从数据库中删除购物车商品,因为数据库中将永远只有与已注册用户链接的购物车商品,这些用户需要停留在此以便下次用户登录时可用。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句