From 5cadd27ffb8b0c7e55d34d3096c95b02fd735a19 Mon Sep 17 00:00:00 2001 From: Ramon Gutierrez Date: Sun, 18 Feb 2018 17:08:45 +0800 Subject: [PATCH] Add branch name to hub column on rider table #12 --- src/Controller/RiderController.php | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/Controller/RiderController.php b/src/Controller/RiderController.php index 5ab07b04..0407afe4 100644 --- a/src/Controller/RiderController.php +++ b/src/Controller/RiderController.php @@ -37,6 +37,9 @@ class RiderController extends BaseController ->getRepository(Rider::class) ->createQueryBuilder('q'); + // build expression now since we're reusing it + $hub_label = $qb->expr()->concat('hub.name', $qb->expr()->literal(' '), 'hub.branch'); + // get datatable params $datatable = $req->request->get('datatable'); @@ -45,7 +48,7 @@ class RiderController extends BaseController ->leftJoin('q.hub', 'hub'); // add filters to count query - $this->setQueryFilters($datatable, $tquery); + $this->setQueryFilters($datatable, $tquery, $hub_label); $total = $tquery->getQuery() ->getSingleScalarResult(); @@ -68,10 +71,10 @@ class RiderController extends BaseController // build query $query = $qb->select('q') - ->addSelect('hub.name as hub_name'); + ->addSelect($hub_label . 'as hub_name'); // add filters to query - $this->setQueryFilters($datatable, $query); + $this->setQueryFilters($datatable, $query, $hub_label); // check if sorting is present, otherwise use default if (isset($datatable['sort']['field']) && !empty($datatable['sort']['field'])) { @@ -433,9 +436,9 @@ class RiderController extends BaseController } // check if datatable filter is present and append to query - protected function setQueryFilters($datatable, &$query) { + protected function setQueryFilters($datatable, &$query, $hub_label) { if (isset($datatable['query']['data-rows-search']) && !empty($datatable['query']['data-rows-search'])) { - $query->where('hub.name LIKE :filter') + $query->where($hub_label . ' LIKE :filter') ->orWhere('q.first_name LIKE :filter') ->orWhere('q.last_name LIKE :filter') ->orWhere('q.contact_num LIKE :filter') -- 2.43.5