Php Doctrine2筛选器已禁用/结果无效

Php Doctrine2筛选器已禁用/结果无效,php,doctrine-orm,Php,Doctrine Orm,我有一个项目,我目前正在从pdo/sql迁移到doctrine,但它不基于任何框架(shame) 我需要向products实体添加许多过滤器,因此这些过滤器匹配的行永远不会输出前端的任何位置。过滤器例如:缺货、产品名称为空、无图片、无说明、列“禁用”设置为1等 如何创建此筛选器?有什么例子吗 我认为使用findOneBy并在每个页面中添加包含所有条件的多索引数组不是一个好的解决方案。有时我会更新这些过滤器,但在项目中使用产品实体的任何地方都更新这些过滤器并不酷。原则过滤器: 例如,您可以使用条令

我有一个项目,我目前正在从pdo/sql迁移到doctrine,但它不基于任何框架(shame)

我需要向products实体添加许多过滤器,因此这些过滤器匹配的行永远不会输出前端的任何位置。过滤器例如:缺货、产品名称为空、无图片、无说明、列“禁用”设置为1等

如何创建此筛选器?有什么例子吗


我认为使用findOneBy并在每个页面中添加包含所有条件的多索引数组不是一个好的解决方案。有时我会更新这些过滤器,但在项目中使用产品实体的任何地方都更新这些过滤器并不酷。

原则过滤器:

例如,您可以使用条令过滤器过滤deletedAt属性不为null(softdeletable)的实体:

请查看SoftDeletableFilter的功能,了解其工作原理

更多信息可在文档的中找到

此外:

可过滤存储库的一个非常简单的实现可以通过

请看一看


使用traits,因此需要php>=5.4

请看一下我的答案。我想这就是你要找的?如果有任何不清楚的地方,请评论,否则接受答案。
$config = new Doctrine\ORM\Configuration;
// ... your configuration
$config->addFilter('soft-deleteable', 'Gedmo\SoftDeleteable\Filter\SoftDeleteableFilter');