Skip to content

Commit

Permalink
[Action] change default order logic (#10731)
Browse files Browse the repository at this point in the history
  • Loading branch information
ottaviano committed Sep 16, 2024
1 parent d7a22d4 commit 2bfd8e6
Showing 1 changed file with 22 additions and 1 deletion.
23 changes: 22 additions & 1 deletion src/Api/Doctrine/ActionExtension.php
Original file line number Diff line number Diff line change
Expand Up @@ -44,8 +44,29 @@ public function applyToCollection(
$latitude = (float) ($filters['latitude'] ?? null);
$longitude = (float) ($filters['longitude'] ?? null);

$queryBuilder
->addSelect("CASE WHEN $alias.date >= NOW() THEN 0 ELSE 1 END AS HIDDEN is_future")
->addOrderBy('is_future', 'ASC')
->addOrderBy($alias.'.date', 'DESC')
;

if ($latitude && $longitude) {
$this->actionRepository->updateNearByQueryBuilder($queryBuilder, $alias, new Coordinates($latitude, $longitude));
$subQuery = $queryBuilder->getEntityManager()->createQueryBuilder()
->from(Action::class, 'a2')
->select('DISTINCT a2.id')
;

$this->actionRepository
->updateNearByQueryBuilder($subQuery, 'a2', new Coordinates($latitude, $longitude))
->setMaxResults(300)
;

$ids = $subQuery->getQuery()->getResult();

$queryBuilder
->andWhere("$alias.id IN (:ids)")
->setParameter('ids', $ids)
;

return;
}
Expand Down

0 comments on commit 2bfd8e6

Please sign in to comment.