<?php namespace App\Repository; use Doctrine\ORM\EntityRepository; use Doctrine\ORM\QueryBuilder; class TaskRepository extends EntityRepository { /** @var array Default sorting */ public const DEFAULT_ORDER = [ 'activity' => 'desc', 'name' => 'asc', ]; /** * {@inheritdoc} */ public function findAll(): array { return $this->findBy([], ActivityRepository::DEFAULT_ORDER); } /** * {@inheritdoc} */ public function createQueryBuilder($alias, $indexBy = null): QueryBuilder { $queryBuilder = parent::createQueryBuilder($alias, $indexBy); foreach ($this::DEFAULT_ORDER as $field => $order) { $queryBuilder->addOrderBy($alias . '.' . $field, $order); } return $queryBuilder; } }