我开发了一个调度应用程序,其中有一个名为“users”的表和 dm 类,到目前为止,我已经存储了有关系统中所有用户的所有信息。所有用户都是内部用户。
现在我也需要为外部用户(客户)实现登录功能。
我的问题:我现在想使用我的表用户,只需添加一个枚举字段“user_type”(内部/外部)。
然后我想创建一个名为 internal_user 的 datamapper 对象和另一个名为 exernal_user 的对象。
当我跑步时
$external_user = new External_user();
$external_user->get();
我只想获取用户表中 user_type = external 的行。是否可以使用 datamapper 以一种很好的方式实现?
更新:
我通过覆盖 Datamapper 类中的 get 方法解决了这个问题,如下所示:
class Internal_user(){
[...]
function get()
{
$this->where('type', 'internal');
return parent::get();
}
}
现在这一行:
$internal_user->get();
仅返回我的 user_type 字段中值为 internal 的记录。