0
Doctrine2와 함께 Symfony2를 사용하고 있습니다. 사실 반환 예상대로 username
이 데이터베이스에 존재하는 경우 또는Doctrine2 FindOneBy 함수가 빈 배열을 반환합니다.
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;
}
방법은 작동 ...
은 내가 username
이 테이블에 존재하는지 알 필요가, 그래서 나는 AJAX하여이 메서드를 호출하고있어 그렇지 않은 경우는 false 그러나 기존 사용자 ($usuario)
에서 사용자 데이터를 반환하면 항상 예상되는 객체가 아닌 빈 JSON 배열 ({})을 반환합니다. 어떤 아이디어? 응답을 보내기 전에 에 대한 올바른 필드와 값을 모두 출력합니다.
반환 된 객체 (예 : var_dump ($ usuario-> username))의 속성에 액세스하려고하면 해당 객체의 비공개 속성에 액세스 할 수 없다는 오류가 표시됩니다. 아마도 빈 배열을 보내는 이유 일 것입니다. console.dir AJAX 호출에서 JSON을 반환하면 항상 $ usuario에 {}이 출력됩니다. –