EasyAdminBundle 文档上说
例如,index() 操作调用名为 createIndexQueryBuilder() 的方法来创建用于获取索引列表上显示的结果的 Doctrine 查询构建器。如果您想自定义该列表,最好重写 createIndexQueryBuilder() 方法而不是整个 index() 方法。
因此,让我们想象一下,当用户被删除时,我在用户实体中将字段 isDeleted 设置为 true。在索引页面中,我想仅显示 isDeleted = false 的用户。如何为此目的重写 createIndexQueryBuilder() ?
这是方法 createIndexQueryBuilder
public function createIndexQueryBuilder(SearchDto $searchDto, EntityDto $entityDto, FieldCollection $fields, FilterCollection $filters): QueryBuilder
{
return $this->get(EntityRepository::class)->createQueryBuilder($searchDto, $entityDto, $fields, $filters);
}
我尝试像这样覆盖它,但没有成功
public function createIndexQueryBuilder(SearchDto $searchDto, EntityDto $entityDto, FieldCollection $fields, FilterCollection $filters): QueryBuilder
{
$response = $this->get(EntityRepository::class)->createQueryBuilder($searchDto, $entityDto, $fields, $filters);
$response->where('isDeleted', true);
return $response;
}
MMMHUHU
幕布斯7119047
慕雪6442864
慕码人8056858