1
用戶模型中的關係,我想問問在這種情況下,最好的策略(與MySQL DB):Laravel 5.4:取決於角色
我得到了一個用戶模型/表。用戶可以有3種不同的類型:管理員,所有者和工作者。
- 業主的hasMany位置
- 的位置的hasMany工人
- 工人屬於關聯一個位置
第一種選擇我看到:
是否有意義的所有者和工作者擴展用戶模型,因爲他們有共同的領域,並在用戶表中添加'角色'字段?
爲業主和員工創建2個其他表是否正確?
如何在這種情況下雄辯處理關係?
第二個選項(容易,但...):
管理,業主,工人3個不同的型號/表
然後我想要做的得到這樣的數據:
- $位置 - >所有者() //獲取與 '所有者' 對這個位置的作用,用戶
- $位置 - >工() //獲取與 '工人' 角色的用戶對這個位置
- $業主 - >工() //獲取有關業主
我會說保留單個用戶表,並採取角色中間表爲belongsToMany關係,這種方式將來時,如果用戶可以有很多角色,它將被處理。並且你可以在用戶模型上定義位置和工作者belongsTo關係它本身沒有問題,如果該關係沒有其他角色的數據,它將返回null。 –
感謝但如何設置模型,以做到:$ location-> workers()或$ owner-> workers()? – sebap