Symfony 4使用实体的全局标准

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Symfony 4使用实体的全局标准相关的知识,希望对你有一定的参考价值。

我使用Symfony 4.1,我需要从我的数据库中获取结果,不包括一些标准。

现在,我在我的仓库中使用查询:

 ->andWhere('p.status != :sold')
 ->setParameter('sold', STATUS_SOLD)
 ...

但我认为这不是好方法,因为我需要处理所有查询和关系。

我想到了Listener / Subscriber和postLoad事件。我不知道这是不是正确的方法,因为文档很差。

为整个应用程序应用实体标准的最佳方法是什么?

答案

请看看Doctrine Filters documentation在你的情况下,你会写一些类似的东西

if (!$targetEntity->reflClass->implementsInterface('SoldAware')) {
    return "";
}

return $targetTableAlias.'.status <> ' . Statuses::STATUS_SOLD;

以上是关于Symfony 4使用实体的全局标准的主要内容,如果未能解决你的问题,请参考以下文章

Symfony 4.4 安全性在登录后获取具有关系实体数据的用户

在symfony 4中映射实体

Symfony 3.4中的多标准搜索

如果我在 Symfony 4 中使用 COUNT 查询而不是遍历实体,我会获得更好的性能吗?

从 symfony 4 中彻底删除实体

Symfony 4.4:为图像文件上传保留的实体/模型属性由表单系统设置更新(结果始终为空 - 没有错误)