为了账号安全,请及时绑定邮箱和手机立即绑定

Sonata 管理包,如果用户不选择任何过滤器,如何不显示任何结果并且不执行对数据库的任何查询?

Sonata 管理包,如果用户不选择任何过滤器,如何不显示任何结果并且不执行对数据库的任何查询?

PHP
阿波罗的战车 2021-07-06 09:37:59
我有典型的奏鸣曲管理员列表操作createQuery, configureFormFields, etc。我如何呈现标准页面但如果用户不选择任何过滤器,我只向他显示“选择任何过滤器以获得结果”?我可以使用已hasFilters检查但查询仍然执行。{% if  admin.hasFilters() %}    {{ parent() }}{% else %}我需要一些这样的,但没有对数据库执行任何查询。// SomeControllerpublic function listAction(){    if (!$this->admin->hasFilters()) {        return $this->renderWithExtraParams($this->admin->getTemplate('list'), [            'action' => 'list',            'form' => $this->admin->getDatagrid()->getForm()->createView(),            'csrf_token' => $this->getCsrfToken('sonata.batch'),            'export_formats' => $this->has('sonata.admin.admin_exporter') ?                $this->get('sonata.admin.admin_exporter')->getAvailableFormats($this->admin) :                $this->admin->getExportFormats(),        ], null);    }    return parent::listAction();}
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 118 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信