0

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

4

2 回答 2

0

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

 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 进行排序。

于 2021-07-05T11:57:08.907 回答
0

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

用于快速过滤实体列表的 dql_filter 选项已被删除。相反,使用 CRUD 控制器中的 createIndexQueryBuilder() 方法。

还有一个带有代码示例的相关 SO 问题:Symfony EasyAdminBundle 3 override the createIndexQueryBuilder()

于 2021-08-12T07:26:57.010 回答