Error: Invalid PathExpression. Must be a StateFieldPathExpression.

505 views
Skip to first unread message

Luis Vallejos

unread,
Nov 17, 2021, 2:03:32 AM11/17/21
to symfony-es
Trato realizar una consulta para mi buscador, y lo mando de la siguiente manera.

TEMPLATE:
Screenshot_2.png

MI FUNCION ESTA ASI:
Screenshot_3.png

Y LA RELACION DE MI ENTIDAD CON EL INGRESO-PROVEEDORES ES:
Screenshot_4.png

MI ERROR: 
Screenshot_1.png

GRACIAS.
Message has been deleted

Hatler

unread,
Nov 19, 2021, 12:15:25 PM11/19/21
to symfony-es
proveedores, es un Objeto del tipo ArrayCollection  al cual le estas haciendo un  LIKE.   No es un campo en la base de datos como para que puedas hacerlo 

Ahora, al ser una consulta a la base de datos no debería estar en el controlador sino en el repositorio.

Yo te recomiendo refactorices tu código y crees una función en el repositorio de tal manera que genere la consulta y la regrese,
y te recomiendo que utilices DQL y no el QueryBuilder

public function getAllAppointments($parametro){          // Generamos la consulta  $query = "
                SELECT i FROM App:Ingreso i JOIN i.proveedores p    // Hacemos el JOIN con la otra entidad Proveedores    (La practica es nombrar las Entidades en singular lo correcto  creo yo seria que se llamara Proveedor ) WHERE i.tipo_comprobante LIKE :parametro AND i.serie_comprobante LIKE :parametro . . . AND p.nombre LIKE :parametro      //  hacemos el LIKE a una propiedad de la entidad Proveedores "; $consulta = $this->getEntityManager()->createQuery($query); $consulta->setParameter('parametro', '%'.$parametro.'%'); return $consulta; }

Así en en tu controlador 

$allAppointmentsQuery = $appointmentsRepository->getAllAppointments($data);


Espero que me haya explicado bien

Saludos

Luis Vallejos

unread,
Nov 24, 2021, 2:26:53 AM11/24/21
to symfony-es
GRACIAS ME FUNCIONO.
Reply all
Reply to author
Forward
0 new messages