错误:在非对象上调用成员函数get


Error: Call to a member function get on a non-object?

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

错误:在非对象上调用成员函数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();
    }

检查错误。如果$user是空的,那么$user就没有getEmail()。-

if($user != Null)

if(!empty($user))