我正在使用Auth模块构建应用程序,我需要至少3种帐户类型:雇主,员工和客户。由于这些帐户具有不同的属性,功能和关系(例如:雇主雇用员工),我想我需要在3个独立的ORM模型上使用它们。
我认为的方法是调整Auth模块,用适当的子模型(雇主,员工,客户)替换“用户”模型,对应数据库中的用户类型。
可以这样做,还是不好的做法?
答案 0 :(得分:1)
对于此类目标,您需要为每个帐户类型创建不同的模型类,以扩展默认的Auth_ORM的Model_User
类。
然后,您需要在Auth_ORM
文件夹中创建新的Kohana_Auth_ORM
类扩展application/classes
类。
在此文件中,您需要重写protected _login()
方法,因此其$user
变量指向所需的帐户类型。
答案 1 :(得分:0)
我在这里找到了有趣的存储库:https://github.com/alexgisby/MAuth。 我遇到了和你一样的问题,所以也许你设法解决它你可以分享解决方案。我认为这个链接的存储库可能是一个解决方案,但到目前为止我还没有设法实现它
答案 2 :(得分:0)
您可以拥有1个模型 - 用户角色和3个不同角色。根据角色,您可以加载特定的模块,其中包含必需的类。
例如,如果User有角色Employee,您将加载modules / role_employee