如何解决我应该在Doctrine中禁用过滤器后启用过滤器,否则它将在下一个请求中自动启用
我正在开发一个Symfony项目,并且正在使用全局过滤器,我只需要在一个控制器操作中将其禁用即可。我应该在完成未过滤结果的工作后启用它们,还是在下一个请求时将它们自动启用?启用回退过滤器后,我还应该使用EntityManager的clear()
方法吗?
解决方法
否,如果默认情况下启用了“过滤器”过滤器,则在禁用过滤器后无需启用过滤器。
根据教义Filter documentation,如果您具有以下配置:
doctrine:
orm:
filters:
myFilter:
class: MyVendor\MyBundle\Filters\MyFilter
enabled: true
...
然后使用以下命令禁用控制器内部的过滤器:
public function homepageAction(Request $request)
{
....
/** @var EntityManager $em */
$em = $this->getDoctrine()->getManager();
$filters = $em->getFilters()
->disable('myFilter');
....
}
针对完整的请求禁用了过滤器。但是,如果您请求另一个Controller而不禁用过滤器,则将应用该过滤器。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。