2015-03-03 3 views
4

у меня эта функция:Проверьте параметр существует или нет в запросе

/** 
* @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); 
} 

Функция должна быть вызвана из двух различных форм и единственными отличаются запросом вар, который имеет значение. В первой форме: $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']; 
} 

Правильно ли это? Существует лучший?

+13

$ request-> query-> имеет ('Distribuidor') – Cerad

ответ

4

Как Cerad размещены на ответах, вы можете использовать:

$request->query->has('distribuidor') 
Смежные вопросы