借助简单的管理员,您可以在一个字段上对列表进行排序。
https://symfony.com/doc/master/bundles/EasyAdminBundle/book/list-search-show-configuration.html#sorting-entity-listings
但是,有什么方法可以对我的列表中的多个字段进行排序?

最佳答案

您可以按照here覆盖createListQueryBuildercreateSearchQueryBuilder的方式进行操作。

例子:

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;
}

关于symfony - 如何在列表中的简单管理下对多个字段进行排序?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56477696/

10-11 17:03