2010-01-15 15 views
1

我正在構建一個需要管理員,用戶和商家的CakePHP應用程序。 商家需要有個人資料。 用戶需要爲他們的個人資料提供不同的信息。CakePHP屬於用戶的用戶,組和數據

我目前有一個用戶模型處理啓用ACL的登錄。

這一切工作正常。

我無法控制我的頭部是如何處理針對商家和用戶的不同配置文件的不同配置文件?

典型的網站場景只是「用戶擁有一個配置文件」,但我需要基於組類型的不同配置文件。

我似乎無法掌握如何根據用戶組分配與用戶關聯的不同數據集。

回答

1

如果您的用戶/商戶/管理員都共享相同的用戶模型,那麼與不同配置文件模型的多態關係belongsTo應該是正確的。即您製作了三個不同的配置文件模型,如UserProfile,MerchantProfile和AdminProfile。在您的用戶模型中,您有兩個字段:profile_classprofile_foreign_key以及記錄數據,如profile_class: Merchant,profile_foreign_key: 42

另請參閱this的問題。

或者,您只需將用戶模型與正常的hasOne關係(其中外鍵插入配置文件模型)中的所有三個配置文件模型相關聯,但這可能會使事情更加複雜。

+0

爲用戶/商家/管理員提供模型會更有意義嗎?如果是的話,什麼是處理認證的最佳方式? – 2010-01-15 05:31:43

+0

這完全取決於你的模型有多不同。如果除了單個用戶/商家/管理員屬性以外,它們是相同的,將它們保留在一個模型中是有意義的。如果你有獨立的模型,你可以動態配置你的用戶/商戶/管理員控制器的'beforeFilter'中的AuthComponent來使用不同的模型進行認證。你必須決定什麼最有意義/導致最少量的工作。 – deceze 2010-01-15 06:17:23

相關問題