EasyAdmin 3 静态 sql 过滤器

EasyAdmin3 static dql filters

我需要默认过滤索引页面的结果,以便它只有 returns 满足特定条件的实体,而无需用户主动过滤任何内容。 EasyAdminBundle2 文档似乎有 static filters 的答案。 但是,我似乎无法在 EasyAdminBundle3 中找到该选项。可能吗?

我还不能发表评论,所以我改用答案: 您可以使用

 public function configureFields(string $pageName): iterable
    {
        return [
  
        AssociationField::new('randomField'),
        TextField::new('randomField2'),
       /////////
    }

     public function configureCrud(Crud $crud): Crud
        {
            return $crud
                ->setDefaultSort(['id' => 'DESC'])
      
            ;
        }

在此示例中,->setDefaultSort 将默认按 DESC 对您的项目 ID 进行排序。

如 easyadmin 2 -> 3 迁移指南中所述 (https://symfony.com/doc/current/bundles/EasyAdminBundle/upgrade.html)

The dql_filter option to quickly filter the entity listings has been removed. Instead, use the createIndexQueryBuilder() method in the CRUD controller.

还有一个带有代码示例的相关 SO 问题: