4

私が取り組んでいる Symfony2 CRM で検索を実行すると、上記のエラーが発生します。Google 検索によると、これは KNP Paginator バンドルに関連する問題のようですが、確かな解決策が見つからないようです。

この例では、OpenCart データベースのデータを使用しており、郵便番号と会社名で検索できるようにする必要があります。これらは両方とも Customer エンティティ内のマップされた値を介して結合された住所テーブルに存在します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();

ただし、郵便番号で検索を実行すると、ブラウザーに次のエラーが表示されます。

リスナーの 1 つは、指定されたターゲットをカウントしてスライスする必要があります

Paginator.phpKNP バンドル内のファイルを参照します。私は最新バージョンの 2.5 に更新しましたが、このエラーを揺るがすことはできず、意味がありません。

結合されたテーブル内の値を介して検索する別の方法は考えられないため、どんな助けも大歓迎です。

これは、郵便番号検索からの結果を返し、次にコントローラーで次のように返します。

$customers = $customer_repository->findCustomerByPostcode($filter_value);

$paginator = $this->get('knp_paginator');
  $pagination = $paginator->paginate(
    $customers,
    $request->query->get('page', 1),
    20
);
4

1 に答える 1