diff --git a/src/Service/CustomerHandler/CMBCustomerHandler.php b/src/Service/CustomerHandler/CMBCustomerHandler.php index 242ee284..600ed3f6 100644 --- a/src/Service/CustomerHandler/CMBCustomerHandler.php +++ b/src/Service/CustomerHandler/CMBCustomerHandler.php @@ -416,8 +416,14 @@ class CMBCustomerHandler implements CustomerHandlerInterface // add filters to count query if (!empty($term)) { - $tquery->where('q.plate_number like :search') - ->setParameter('search', $term . '%'); + //$tquery->where('q.plate_number like :search') + // ->setParameter('search', $term . '%'); + // TODO: this is really slow. Need to optimize + $tquery->innerJoin('q.customer', 'c') + ->where('q.plate_number like :search') + ->orWhere('c.phone_mobile = :number') + ->setParameter('search', $term . '%') + ->setParameter('number', $term); /* $tquery->where('match_against (q.plate_number, :search \'in boolean mode\') > 0.1') ->setParameter('search', $term . '*'); @@ -431,6 +437,8 @@ class CMBCustomerHandler implements CustomerHandlerInterface $total = $tquery->getQuery() ->getSingleScalarResult(); + error_log($total); + // pagination vars $page = $req->query->get('page') ?? 1; $perpage = 20; @@ -448,8 +456,14 @@ class CMBCustomerHandler implements CustomerHandlerInterface // add filters if needed if (!empty($term)) { - $query->where('q.plate_number like :search') - ->setParameter('search', $term . '%'); + // TODO: this is really slow. Need to optimize + $query->innerJoin('q.customer', 'cust') + ->where('q.plate_number like :search') + ->orWhere('cust.phone_mobile = :number') + ->setParameter('search', $term . '%') + ->setParameter('number', $term); + //$query->where('q.plate_number like :search') + // ->setParameter('search', $term . '%'); /* $query->where('match_against (q.plate_number, :search \'in boolean mode\') > 0.1') ->setParameter('search', $term . '*'); @@ -465,7 +479,7 @@ class CMBCustomerHandler implements CustomerHandlerInterface ->setFirstResult($offset) ->setMaxResults($perpage) ->getQuery(); - // error_log($query_obj->getSql()); + error_log($query_obj->getSql()); $obj_rows = $query_obj->getResult();