0
我正在使用Symfony2以及doctrine2。Doctrine2 FindOneBy函数返回空数组
我需要知道,如果在表中存在一个username
,所以我打电话用AJAX这种方法...
public function existeUsername()
{
$req = $this->getRequest();
$user = $req->request->get('user');
$em = $this->getDoctrine()->getEntityManager();
$usuario = $em->getRepository('RECURSIVAUserBundle:Usuario')->findOneByUsername($user);
if ($usuario):
//user found
$response = new Response(json_encode(array('error' => true, 'usuario' => $usuario, 'user' => $user)));
$response->headers->set('Content-Type', 'application/json');
return $response;
else:
//did not found the user
$response = new Response(json_encode(array('error' => false, 'user' => $user)));
$response->headers->set('Content-Type', 'application/json');
return $response;
endif;
}
的方法将按预期返回true,如果在数据库中存在的username
或如果不是,则为false但是,当从现有用户($usuario)
返回用户数据时,它始终返回一个空的JSON数组({}),而不是期望的对象。有任何想法吗?
如果我是var_dump($usuario
)在返回响应之前,它会打印出该username
的所有正确字段和值。
如果我尝试访问返回的对象的属性(即:后续代码var_dump($ usuario->用户名)),它显示了一个错误,说我不能访问对象的私有财产。也许那么,这就是为什么它发送一个空数组。 我使用console.dir从AJAX调用中返回的JSON,它总是打印{}给$ usuario。{} –