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