实际上没有理由使用会话ID作为购物车所有者的标识符.处理购物车的逻辑非常简单,它等同于以下内容:
cart当您处理已登录的注册用户时,将购物车信息存储在数据库(您的表)中才有意义.在这种情况下,将购物车项链接到用户的标识符是,因为用户只能有一个购物车.所以表格可以简单如下:user_idcart+---------+------------+
| user_id | product_id |
+---------+------------+
Run Code Online (Sandbox Code Playgroud)
user_id和product_id实际上你只需要处理一个购物车项目,因为它只是一个列表,它引用了users表格中存储详细信息的用户以及表格中存储详细信息的产品products.当然,当访客用户将一些项目添加到购物车(此时此时存储在会话中)时,如果该访客决定在会话购物车中放入内容时登录,则添加(更准确地说是同步)可能是有意义的登录过程成功后,具有数据库的那些项目.
因此,如果用户在他/她登录时已经在数据库购物车中已经有一些产品,那么来自当前会话购物车的新产品将被添加到旧产品中.虽然您可以选择同步项目或完全覆盖它们以仅保留新购物车项目.
因此,遵循上述准则,无需从数据库中删除购物车项目,因为数据库中只会有链接到注册用户的购物车项目,这些商品需要在下次用户登录时保持可用状态.
| 归档时间: |
|
| 查看次数: |
1992 次 |
| 最近记录: |