С помощью простого администратора у вас есть возможность сортировать список по одному полю.
Symfony — Easy Admin v2: сортировка списков сущностей
Но есть ли способ отсортировать более одного поля для моего списка?




Вы можете переопределить createListQueryBuilder или createSearchQueryBuilder, как уже упоминалось здесь.
Пример:
protected function createListQueryBuilder($entityClass, $sortDirection, $sortField = null, $dqlFilter = null)
{
/* @var EntityManager */
$em = $this->getDoctrine()->getManagerForClass($this->entity['class']);
/* @var QueryBuilder */
$queryBuilder = $em->createQueryBuilder()
->select('entity')
->from($this->entity['class'], 'entity')
;
if (!empty($dqlFilter)) {
$queryBuilder->andWhere($dqlFilter);
}
$queryBuilder->addOrderBy('entity.status', 'ASC');
$queryBuilder->addOrderBy('entity.createdAt', 'DESC');
return $queryBuilder;
}
Спасибо за этот ответ. Единственное изменение, которое я сделал, заключалось в том, чтобы заключить операторы
$queryBuilder->addOrderBy()вif ..., чтобы избежать исключений для сущностей без заданных свойств сущности. Вариант использования заключался в сортировке по фамилии и имени, которые встречаются только в сущности пользователя.