我有这个功能:
/** * @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']; }
这是正确的吗?存在更好的一个?
正如Cerad在回复中发布的那样,您可以使用:
$request->query->has('distribuidor')