diff --git a/src/Repository/ModificationRepository.php b/src/Repository/ModificationRepository.php index d3802c0..512aee2 100644 --- a/src/Repository/ModificationRepository.php +++ b/src/Repository/ModificationRepository.php @@ -58,12 +58,20 @@ public function filters(Container $container, array $filters, Sort $sort) { $qb->andWhere('mdf.cTerminal = :cTerminal') ->setParameter('cTerminal', $filters['cTerminal']); } - $restrictions = ['id', 'modificationName', 'modificationFormula', 'modificationMass', 'nTerminal', 'cTerminal']; - foreach ($restrictions as $res) { - if ($sort->sort === $res) { - $qb->addOrderBy('case when mdf.' . $sort->sort . ' is null then 1 else 0 end', $sort->order) - ->addOrderBy('mdf.' . $sort->sort, $sort->order); - } + + if ($sort->sort === 'id') { + $qb->addOrderBy('mdf.id', $sort->order); + } else if ($sort->sort === 'modificationName') { + $qb->addOrderBy('mdf.modificationName', $sort->order); + } else if ($sort->sort === 'modificationFormula') { + $qb->addOrderBy('mdf.modificationFormula', $sort->order); + } else if ($sort->sort === 'modificationMass') { + $qb->addOrderBy('case when mdf.modificationMass is null then 1 else 0 end', $sort->order) + ->addOrderBy('mdf.modificationMass', $sort->order); + } else if ($sort->sort === 'nTerminal') { + $qb->addOrderBy('mdf.nTerminal', $sort->order); + } else if ($sort->sort === 'cTerminal') { + $qb->addOrderBy('mdf.cTerminal', $sort->order); } return $qb->getQuery()->getArrayResult(); }