He creado un nuevo límite de la clase de llamada de búsqueda.html.ramita, pero cuando me vaya a la dirección URL (http://localhost:8000/shrubs/search) me sale el siguiente error:

ERROR – no detectada PHP Excepción Symfony\Component\HttpKernel\Excepción\NotFoundHttpException: «AppBundle\Entity\Arbustos objeto no encontrado». en C:\Users\rosmith\shrub_search\vendor\sensio\framework-extra-bundle\Request\ParamConverter\DoctrineParamConverter.php línea 66

Debe haber algo mal con mi ParamConverter? Son mis anotaciones correcta? He leído la symfony documentación, sino que simplemente no tiene sentido para mí. Aquí está mi controlador:

 /**
* Finds and displays a shrub entity.
*
* @Route("/search", name="shrubs_search")
* @ParamConverter("post", class="AppBundle:Shrubs")
*/
private function searchAction(Request $request)
{
$shrub = new Shrubs();
$form = $this->createForm('AppBundle\Form\ShrubsType', $shrub)
->add('botanicalname', TextType::class, array('label' => 'Botanical Name:'))
->add('commonname', TextType::class, array('label' => 'Common Name:'))
->add('wetsoil', CheckboxType::class, array('label' => 'Tolerates Wet Soil:'))
->add('moistsoil', CheckboxType::class, array('label' => 'Prefers Moist Soil:'))
->add('peatysoil', CheckboxType::class, array('label' => 'Prefers Peaty Soil:'))
->add('welldrainedsoil', CheckboxType::class, array('label' => 'Prefers Well-drained Soil:'))
->add('drought', CheckboxType::class, array('label' => 'Tolerates Drought:'))
->add('claysoil', CheckboxType::class, array('label' => 'Tolerates Clay Soil:'))
->add('sandysoil', CheckboxType::class, array('label' => 'Prefers Sandy Soil:'))
->add('loamsoil', CheckboxType::class, array('label' => 'Prefers Loam Soil:'))
->add('infertilesoil', CheckboxType::class, array('label' => 'Tolerates Infertile Soil:'))
->add('richsoil', CheckboxType::class, array('label' => 'Prefers Rich Soil:'))
->add('compactedsoil', CheckboxType::class, array('label' => 'Tolerates Compacted Soil:'))
->add('cityconditions', CheckboxType::class, array('label' => 'Tolerates City Conditions:'))
->add('pollution', CheckboxType::class, array('label' => 'Tollerates Pollution:'))
->add('salt', CheckboxType::class, array('label' => 'Tolerates Salt Conditions:'))
->add('windy', CheckboxType::class, array('label' => 'Tolerates Windy Conditions:'))
->add('shade', CheckboxType::class, array('label' => 'Prefers Shade:'))
->add('partshade', CheckboxType::class, array('label' => 'Prefers Part Shade:'))
->add('fullsun', CheckboxType::class, array('label' => 'Prefers Full Sun:'))
->add('pestproblem', CheckboxType::class, array('label' => 'Pest Problem:'))
->add('borderlinehardy', CheckboxType::class, array('label' => 'BorderLine Hardy'));
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
$em = $this->getDoctrine()->getManager();
$em->persist($shrub);
$em->flush($shrub);
return $this->redirectToRoute('shrubs_show', array('id' => $shrub->getNumber()));
}
return $this->render('shrubs/new.html.twig', array(
'shrub' => $shrub,
'form' => $form->createView(),
));
}
  • simplemente quite el paramconverter anotación
InformationsquelleAutor bigmammoo | 2017-03-20

1 Comentario

  1. 2

    Su ruta debe contener post param.

    @Route("/search/{post}", name="shrubs_search")

    También su método se debe tomar este parámetro como argumento del método.

    • he cambiado la anotación:
    • /** * Busca y muestra un arbusto de la entidad. * * @Route(«/búsqueda/{post}», nombre=»shrubs_search») * @ParamConverter(«post», class=»AppBundle:Arbustos») */
    • Pero aún así no funciona.
    • Es el error de la misma?
    • la dirección URL publicado en la pregunta no se especifica ninguna identificación por lo que probablemente es sólo un error y realmente no necesita un paramconverter aquí
    • Es el mismo error, incluso si puedo quitar el paramcoverter parte
    • Sólo tengo esta anotación: @Route(«/búsqueda», nombre=»shrubs_search»)
    • Si sigue teniendo el mismo error, incluso si puedo quitar el paramcoverter parte, se ve como problema de caché.
    • Yo intente con y sin post
    • Me hizo borrar la caché. Realmente rascándome la cabeza aquí
    • Oh, me lo imaginé. He tenido que cambiar el método de controlador de privada a pública. Gracias tanto a ambos por su ayuda
    • Tengo un mismo problema: el 2 es casi igual, de la función pública, 2 vars en, el objeto y la cadena. Uno puede encontrar la Entidad obj, otros no se puede encontrar la domar entidad lol

Dejar respuesta

Please enter your comment!
Please enter your name here