我有一个用户可以是供应商或商店的应用程序。 现在这两个角色具有非常不同的角色特定字段..
基本上,商店可以向供应商订购..所以商店可以订购订单,供应商也会收到订单。
我会把这些字段放在哪里进行良好练习?
这些似乎都没有。有任何想法吗? 谢谢!
答案 0 :(得分:3)
您不必坚持使用单个users
表。您可以拥有供应商模型和商店模型(包含suppliers
和shops
表)。
然后在config/auth.php
文件中,您可以使用Eloquent驱动程序设置新的身份验证提供程序,但使用不同的模型。然后,您可以将这些提供程序分配给您创建的任何新防护。
您可以在此处详细了解身份验证和授权: https://laravel.com/docs/5.4/authentication
https://laravel.com/docs/5.4/authorization
修改强>
在关于多态关系的评论中提到它之后,我认为这将更适用于这种类型的关系(多种类型的用户,每种用户都有自己的字段集)。
在这里阅读更多内容:
https://laravel.com/docs/5.4/eloquent-relationships#polymorphic-relations
答案 1 :(得分:1)
用户可以拥有多个商店或供应倍数吗?你的第二个选择似乎很好。
用户 hasMany:供应商,商店
- id
- 姓名
供应商 belongsTo,hasOne:用户
- id
- user_id
- fields_supplier
商店 belongsTo,hasOne:用户
- id
- user_id
- fields_shop
$user->supplier->fields_supplier;
$user->shop->fields_shop;
$supplier->user->name;
$shop->user->name;
- 如果您有关于如何使用它的更多信息,那将会有所帮助。
答案 2 :(得分:1)
“供应商”是“派对”(“个人”或“组织”)所扮演的角色
您的商店可能会从供应商处获取目录,并可能会向他们索取报价。
您的商店创建“采购订单”并将其发送给供应商,他们会向您发送“订单回复”
供应商不是用户。您可以为员工创建“用户”,但
为什么不使用像Odoo这样的现有ERP?