【发布时间】:2012-12-10 08:44:00
【问题描述】:
我正在构建一个包含用户和订单的 Web 应用程序。我有一个关于如何处理两者关系的问题。
订单属于用户。但这里的转折点是,用户可以选择将订单外包给其他用户。
当订单被外包时,原始用户仍然是所有者,只有他可以修改订单上的某些内容,例如价格、数量等。 订单外包给的用户可以查看一些订单信息,并可以更新订单上的特定属性,例如标记为已完成。 外包订单应显示在两个用户的“订单索引”上。
所有用户都是“平等的”,这意味着在某些订单上,用户可能是所有者,而在其他订单上,他可能正在履行订单。用户也可以履行自己的订单。
这似乎不是真正的多对多关系,因为其中一位用户并不真正拥有该订单,他只是对它的访问权限有限。
处理这种订单/用户关系的最简单方法是什么?我想避免使用完整的权限系统,有没有办法用“外包”表简单地处理这个问题?在 order 表上有一个 user_id 和 outsourced_to 字段怎么样?
感谢您的意见!
如果有任何帮助,应用程序使用 Laravel。
【问题讨论】:
-
如果您可以确定您只会将 2 个用户附加到一个订单中,那么我不认为您在最后描述的为他们的任何一个 id 设置字段的问题。如果有无限的可能性,我会想到一个单独的表格来保存链接会更好。
-
确实,一个订单最多只能绑定2个用户。
标签: php activerecord one-to-many laravel