我有这个功能:
/**
* @Secure(roles="IS_AUTHENTICATED_FULLY")
* @Route("/chequearFabricanteDistribuidor", name="chequearFabricanteDistribuidor", condition="request.headers.get('X-Requested-With') == 'XMLHttpRequest'")
* @Method("GET")
*/
public function chequearFabricanteAction(Request $request)
{
$em = $this->getDoctrine()->getManager();
$entities = $em->getRepository('AppBundle:FabricanteDistribuidor')->findOneBy(
array( 'nombre' => $request->query->get('fabricante')['nombre'] )
);
$response['valid'] = true;
if ($entities) {
$response['valid'] = false;
}
return new JsonResponse($response);
}
需要从两种不同的形式调用该函数,唯一不同的是保存该值的请求var。第一种形式是:$request->query->get('fabricante')['nombre']
,而第二种形式是$request->query->get('distribuidor')['nombre']
,所以我问的是处理这个问题的正确方法是:
if (isset($request->query->get('fabricante')))
{
$nombre = $request->query->get('fabricante')['nombre'];
}
else
{
$nombre = $request->query->get('distribuidor')['nombre'];
}
这是对的吗?存在更好的一个?
答案 0 :(得分:17)
正如Cerad在回复中发布的那样,您可以使用:
$request->query->has('distribuidor')