Add branch name to hub column on rider table #12

This commit is contained in:
Ramon Gutierrez 2018-02-18 17:08:45 +08:00
parent 6a1658e2ea
commit 5cadd27ffb

View file

@ -37,6 +37,9 @@ class RiderController extends BaseController
->getRepository(Rider::class) ->getRepository(Rider::class)
->createQueryBuilder('q'); ->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 // get datatable params
$datatable = $req->request->get('datatable'); $datatable = $req->request->get('datatable');
@ -45,7 +48,7 @@ class RiderController extends BaseController
->leftJoin('q.hub', 'hub'); ->leftJoin('q.hub', 'hub');
// add filters to count query // add filters to count query
$this->setQueryFilters($datatable, $tquery); $this->setQueryFilters($datatable, $tquery, $hub_label);
$total = $tquery->getQuery() $total = $tquery->getQuery()
->getSingleScalarResult(); ->getSingleScalarResult();
@ -68,10 +71,10 @@ class RiderController extends BaseController
// build query // build query
$query = $qb->select('q') $query = $qb->select('q')
->addSelect('hub.name as hub_name'); ->addSelect($hub_label . 'as hub_name');
// add filters to query // add filters to query
$this->setQueryFilters($datatable, $query); $this->setQueryFilters($datatable, $query, $hub_label);
// check if sorting is present, otherwise use default // check if sorting is present, otherwise use default
if (isset($datatable['sort']['field']) && !empty($datatable['sort']['field'])) { 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 // 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'])) { 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.first_name LIKE :filter')
->orWhere('q.last_name LIKE :filter') ->orWhere('q.last_name LIKE :filter')
->orWhere('q.contact_num LIKE :filter') ->orWhere('q.contact_num LIKE :filter')