【问题标题】:MySQL: managing user billing and shipping addresses [closed]MySQL:管理用户帐单和送货地址 [关闭]
【发布时间】:2013-07-07 17:33:03
【问题描述】:

起初我认为最好有一个addresses 表来跟踪用户的帐单和送货地址...这些当然将用于订单等。

但是,一旦我开始编码,我注意到当用户更新它们时,我必须能够引用和跟踪这些 id,并且对于“运送与我的帐单地址相同”选项,我然后需要将 shipping_id 的引用更新为 billing_id ...

我希望我说的有道理......

我现在想我应该在我的user 表中同时包含帐单和运输字段,或者创建一个user_details 表。

实际的问题是,存储和管理用户帐单和送货地址的首选(或建议)方法是什么。

【问题讨论】:

  • 那么实际的问题是什么?

标签: php mysql database laravel laravel-4


【解决方案1】:

为什么不制作一个地址表,其中包含一个指示地址类型的标志

id | user_id | street | number | zip | city | address_type | valid_since | valid_until

【讨论】:

  • 嗯,这就是我已经在做的事情,我只是觉得有太多方法可以弄乱参考。
  • address_type 与 1(运输)或 2(计费)会更有效?
  • @Dagon:是的,会的。
  • 是的,但是当用户选中“与帐单相同”时,我需要获取他们当前帐单地址的 id 等等……如果他们的帐户是新帐户并且他们没有'还没有帐单地址...将列附加到用户要容易得多。
  • 不确定您是否真的描述了您遇到的问题,而不是担心这可能很困难
【解决方案2】:

您可以为每个人制作一个地址表,其中包含所有地址详细信息以及用户 ID,以便可以将它们链接到用户。这允许任何用户拥有任意数量的地址。然后在 users 表中,您可以有一个 shipping_address 和 billing_address 字段,它需要一个 id 作为地址表中的引用。记得在适当的地方使用外键。

如果您想通过代码轻松访问包含有用地址信息的用户详细信息,您可能需要创建一个存储过程来获取两个表上的信息

【讨论】:

  • 这是我目前拥有的。我只是不喜欢计费和运输不是静态的事实......它只是一堆ids。处理您经常在网站上看到的“与帐单邮寄地址相同”选项的最佳方法是什么?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-09-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-20
  • 1970-01-01
相关资源
最近更新 更多