使用单表继承登录

时间:2014-01-03 01:55:48

标签: php zend-framework symfony doctrine-orm doctrine

我有一个实体Account和两个继承了单表继承的表:ClientAdministrator

我有一个使用Account表的登录表单。用户登录后,我会收到如下信息:

    $account = $this->em->getRepository ( 'Entities\Account' )
   ->findOneByEmail ( $email ) );

我的帐户没有问题,但问题是:如何确定用户是客户还是管理员?我知道我可以get_class看看它正在使用哪个类,但我不认为这是正确的方法。有帮助吗?谢谢!

1 个答案:

答案 0 :(得分:0)

如果您不想使用get_class 你会做这样的事情

class Client extends Account
{
    protected $discr  = 'client';
    ...
}

class Administrator extends Account
{
    protected $discr  = 'administrator';
    ...
}

对象中的字段(不在数据库中)

并在Acount类

中创建getType()方法