Optimize incoming jo customer vehicle search #89
This commit is contained in:
parent
836c026402
commit
42f3048d12
1 changed files with 26 additions and 6 deletions
|
|
@ -509,6 +509,7 @@ class CustomerController extends BaseController
|
|||
->getRepository(CustomerVehicle::class)
|
||||
->createQueryBuilder('q');
|
||||
|
||||
/*
|
||||
// build expression now since we're reusing it
|
||||
$vehicle_label = $qb->expr()->concat(
|
||||
'q.plate_number',
|
||||
|
|
@ -520,15 +521,23 @@ class CustomerController extends BaseController
|
|||
'c.phone_mobile',
|
||||
$qb->expr()->literal(')')
|
||||
);
|
||||
*/
|
||||
|
||||
// count total records
|
||||
$tquery = $qb->select('COUNT(q)')
|
||||
->join('q.customer', 'c');
|
||||
$tquery = $qb->select('COUNT(q)');
|
||||
|
||||
// add filters to count query
|
||||
if (!empty($term)) {
|
||||
$tquery->where('q.plate_number like :search')
|
||||
->setParameter('search', $term . '%');
|
||||
/*
|
||||
$tquery->where('match_against (q.plate_number, :search \'in boolean mode\') > 0.1')
|
||||
->setParameter('search', $term . '*');
|
||||
*/
|
||||
/*
|
||||
$tquery->where('q.plate_number LIKE :filter')
|
||||
->setParameter('filter', '%' . $term . '%');
|
||||
*/
|
||||
}
|
||||
|
||||
$total = $tquery->getQuery()
|
||||
|
|
@ -542,15 +551,25 @@ class CustomerController extends BaseController
|
|||
$has_more_pages = $page < $pages ? true : false;
|
||||
|
||||
// build main query
|
||||
$query = $qb->select('q')
|
||||
$query = $qb->select('q');
|
||||
/*
|
||||
->addSelect($vehicle_label . ' as vehicle_label')
|
||||
->addSelect('c.first_name as cust_first_name')
|
||||
->addSelect('c.last_name as cust_last_name');
|
||||
*/
|
||||
|
||||
// add filters if needed
|
||||
if (!empty($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 . '*');
|
||||
*/
|
||||
/*
|
||||
$query->where('q.plate_number LIKE :filter')
|
||||
->setParameter('filter', '%' . $term . '%');
|
||||
*/
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -566,10 +585,11 @@ class CustomerController extends BaseController
|
|||
// build vehicles array
|
||||
$vehicles = [];
|
||||
|
||||
foreach ($obj_rows as $vehicle) {
|
||||
foreach ($obj_rows as $cv) {
|
||||
$cust = $cv->getCustomer();
|
||||
$vehicles[] = [
|
||||
'id' => $vehicle[0]->getID(),
|
||||
'text' => $vehicle['vehicle_label']
|
||||
'id' => $cv->getID(),
|
||||
'text' => $cv->getPlateNumber() . ' ' . $cust->getFirstName() . ' ' . $cust->getLastName() . ' (+63' . $cust->getPhoneMobile() . ')',
|
||||
];
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue