Я получаю указанную выше ошибку при выполнении поиска в Symfony2 CRM, над которой я работал. Согласно поиску в Google, кажется, что это проблема, связанная с пакетом KNP Paginator, но я не могу найти надежного решения.
В этом случае я использую данные из базы данных OpenCart, и мне нужно иметь возможность искать по почтовому индексу и названию компании, которые существуют в таблице адресов, которая объединяется через сопоставленное значение в сущности клиента, defaultaddress
.
С этой целью мне пришлось написать собственный запрос в функции с именем findCustomerByPostcode
, например:
$this->getEntityManager()
->createQuery('SELECT c FROM AppBundle:Oc49Customer c JOIN AppBundle:Oc49Address a WITH c.defaultaddress = a.id WHERE a.postcode LIKE :postcode')
->setParameter('postcode','%'.$postcode.'%')
->getResult();
Однако, когда я выполняю поиск по почтовому индексу, я получаю следующую ошибку в браузере:
Один из слушателей должен считать и нарезать заданную цель
который относится к файлу Paginator.php
в комплекте KNP. Я обновился до самой последней версии, 2.5, но я не могу избавиться от этой ошибки, и для меня это даже не имеет смысла.
Любая помощь очень ценится, так как я не могу придумать другого способа поиска по значению в объединенной таблице.
Который возвращает результаты поиска по почтовому индексу, а затем в контроллере:
$customers = $customer_repository->findCustomerByPostcode($filter_value);
$paginator = $this->get('knp_paginator');
$pagination = $paginator->paginate(
$customers,
$request->query->get('page', 1),
20
);