我试图在我的函数中调用用户的电子邮件,但我一直收到此错误:
错误:在非对象
上调用成员函数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();
}
答案 0 :(得分:2)
错误的检查。如果$user
为空,那么getEmail()
就不会有$user
。
应该是 -
if($user != Null)
OR
if(!empty($user))