Symfony2 と doctrine2 を併用しています。
テーブルに存在するかどうかを知る必要がある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;
}
このメソッドは期待どおりに機能username
し、データベースに が存在する場合は true を返し、そうでない場合は false を返します。ただし、既存の user からユーザー データを($usuario)
返す場合、期待されるオブジェクトではなく、常に空の JSON 配列 ({}) が返されます。何か案は?
I var_dump($usuario
) の場合、応答を返す前に、正しいフィールドと値がすべて出力されますusername
。