Проверьте, существует ли параметр в запросе

У меня есть эта функция:

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

Это правильно? Существует лучше?

1 ответ

Решение

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

$request->query->has('distribuidor')
Другие вопросы по тегам