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