2016-11-23 66 views
2

我想問一下如何在laravel中創建兩種類型的用戶。我有兩張桌子,一張給顧客,另一張給顧客,我的問題是如何改變這種差異。我是否必須製作兩種不同的模型或使用模型用戶並在中間件中創建一些功能?如何在Laravel中創建兩種類型的用戶

謝謝。

+1

我擺在首位的問題是爲什麼要使用兩個表的用戶?用戶之間有什麼區別?關於用戶的通用信息不一樣嗎?如果在單獨的表格中提及用戶,那會不會更好?如果您正在考慮使用用戶角色系統,請使用枚舉或單獨的表。 – Nyranith

+1

我有兩個不同的表,因爲有關用戶,客戶和客戶的信息有不同的信息,這就是爲什麼我這樣做 – Devmasta

回答

2

如果您正在尋找最簡單的解決方案,可以將role列添加到users表中。然後,你可以檢查用戶是否是客戶或客戶全球有:

if (auth()->user()->role === 1) { 
    // It's a client. 
} 

您可以添加一些輔助的方法來檢查用戶是否是客戶或客戶:

public function isClient() 
{ 
    return auth()->user() && auth()->user()->role === 1; 
} 

打開只有客戶端的網站部分應該使用路由組和中間件。

+1

這不是關於用戶的角色,我有不同的客戶和客戶信息,這就是爲什麼我可以不要把客戶和客戶放在同一張桌子上。 – Devmasta

+0

@epowah使用我描述的方法,並添加兩個模型,它們與'User'模型是一對一的關係。例如,在'User'模型中存儲相同的數據(電子郵件,密碼,名稱等)以及'ClientProfile'和'CustomerProfile'中的所有其他數據。如果您的應用有很多關係和複雜的查詢,我建議您將所有與用戶相關的數據存儲在一個'users'表中。 –

+0

你可以給我一些更多的細節,或者如果你可以舉一些例子,我會很高興 – Devmasta

相關問題