Refactor
This commit is contained in:
parent
00c58b55d1
commit
abbaf016cc
|
|
@ -265,8 +265,8 @@ class OrganizationController extends AbstractController
|
|||
$page = max(1, (int)$request->query->get('page', 1));
|
||||
$size = max(1, (int)$request->query->get('size', 10));
|
||||
|
||||
$sorters = $request->query->all('sorters');
|
||||
$filters = $request->query->all('filters');
|
||||
// $sorters = $request->query->all('sorters');
|
||||
// $filters = $request->query->all('filters');
|
||||
|
||||
|
||||
$user = $this->userService->getUserByIdentifier($this->getUser()->getUserIdentifier());
|
||||
|
|
@ -274,25 +274,25 @@ class OrganizationController extends AbstractController
|
|||
$qb = $this->entityManager->getRepository(Organizations::class)->createQueryBuilder('o')
|
||||
->where('o.isDeleted = :del')->setParameter('del', false);
|
||||
|
||||
// Example: apply filters (basic equals/like)
|
||||
foreach ($filters as $f) {
|
||||
if (!isset($f['field'], $f['type'])) { continue; }
|
||||
$param = 'p_' . $f['field'];
|
||||
if ($f['type'] === 'like' || $f['type'] === 'contains') {
|
||||
$qb->andWhere("LOWER(o.{$f['field']}) LIKE :$param")
|
||||
->setParameter($param, '%' . mb_strtolower((string)$f['value']) . '%');
|
||||
} elseif ($f['type'] === '=') {
|
||||
$qb->andWhere("o.{$f['field']} = :$param")
|
||||
->setParameter($param, $f['value']);
|
||||
}
|
||||
}
|
||||
|
||||
// Example: apply sorters
|
||||
foreach ($sorters as $s) {
|
||||
if (!isset($s['field'], $s['dir'])) { continue; }
|
||||
$dir = strtolower($s['dir']) === 'desc' ? 'DESC' : 'ASC';
|
||||
$qb->addOrderBy('o.' . $s['field'], $dir);
|
||||
}
|
||||
// // Example: apply filters (basic equals/like)
|
||||
// foreach ($filters as $f) {
|
||||
// if (!isset($f['field'], $f['type'])) { continue; }
|
||||
// $param = 'p_' . $f['field'];
|
||||
// if ($f['type'] === 'like' || $f['type'] === 'contains') {
|
||||
// $qb->andWhere("LOWER(o.{$f['field']}) LIKE :$param")
|
||||
// ->setParameter($param, '%' . mb_strtolower((string)$f['value']) . '%');
|
||||
// } elseif ($f['type'] === '=') {
|
||||
// $qb->andWhere("o.{$f['field']} = :$param")
|
||||
// ->setParameter($param, $f['value']);
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// // Example: apply sorters
|
||||
// foreach ($sorters as $s) {
|
||||
// if (!isset($s['field'], $s['dir'])) { continue; }
|
||||
// $dir = strtolower($s['dir']) === 'desc' ? 'DESC' : 'ASC';
|
||||
// $qb->addOrderBy('o.' . $s['field'], $dir);
|
||||
// }
|
||||
|
||||
// Count total
|
||||
$countQb = clone $qb;
|
||||
|
|
|
|||
Loading…
Reference in New Issue