2011-06-04 58 views
3

我正在使用Codeigniter和Ion Auth進行用戶管理。我想創建兩個不同的用戶角色 - 一個用於志願者和一個用於組織。我知道我可以將Ion Auth的groups用於訪問控制等功能,但將字段添加到不同用戶類型的方式會是一種好方法(例如 - 志願者用戶將擁有「語言使用」字段,而組織將會一個'任務'字段)?我應該爲每個新用戶類型擴展Ion Auth類並分別爲每種類型處理CRUD,還是使用「組」字段和用戶標識來引用另一個表中的字段?對於解決這個共同問題的方法有何洞見?使用Ion Auth在Codeigniter中創建用戶角色和配置文件

回答

2

我之前有同樣的問題,我最終做的是建立關係表來處理不同領域的不同組。然後,我修改了一下profile()代碼,根據用戶的組設置來加入附加關係表。

我會開始建立一個關係數據庫。

例如:

**volunteers table** 
id 
user_id 
languages 

**organizations table** 
id 
user_id 
mission 

然後根據用戶的組,加入在輪廓()函數的表。

希望這會有所幫助!

5

我會建議您只需將所需的所有字段添加到元表中,並只更新每個用戶組所需的字段。如果您需要多個用戶組,請檢查Ion Auth v2

+0

你會如何建議我爲屬於多個用戶的用戶存儲信息?您是否會爲每個組創建兩個單獨的元表,如上面添加tpae的建議,或者像您之前說的那樣,帶有「group_id」列的一個元表?例如,我可以讓用戶成爲「買家」,「賣家」或兩者。元表可以具有id,user_id,group_id,field_key和field_value。我覺得後一種方法效率不高,組織混亂,前者更好。你怎麼看?有更好的解決方案嗎? – 2012-12-05 14:32:40