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。{} –