错误:调用成员函数获取非对象?

时间:2015-06-09 11:55:19

标签: php symfony

我试图在我的函数中调用用户的电子邮件,但我一直收到此错误:

  

错误:在非对象

上调用成员函数getEmail()

我确信问题不是来自实体,但我很困惑,为什么这种方法不起作用(我之前使用过它并且有效)。

这是我正在处理的功能:

public function registerAction($email,$password,$token)
{
    $em = $this -> getDoctrine();
    $user = $em -> getRepository("OBCarsTest2Bundle:user") ->findOneBytoken($token);

if($user == Null)
{
    if(strcmp($user->getEmail(),$email) != 0)
    {
        $newUser = new user();
        $factory = $this->get('security.encoder_factory');
        $encoder = $factory->getEncoder($user);
        $token = md5(uniqid($email, true));
        $pass = $encoder->encodePassword($password, $user->getSalt());
        $newUser->setEmail($email);
        $newUser->setPassword($pass);
        $newUser->setIsActive(1); //enable or disable
        $newUser->setToken($token);
        $UId = $newUser->getId();
    }

1 个答案:

答案 0 :(得分:2)

错误的检查。如果$user为空,那么getEmail()就不会有$user。 应该是 -

if($user != Null)

OR

if(!empty($user))