API 平台:具有默认 WHERE 子句的实体

Posted

技术标签:

【中文标题】API 平台:具有默认 WHERE 子句的实体【英文标题】:API-Platform: Entity with default WHERE clause 【发布时间】:2017-04-20 15:35:48 【问题描述】:

我是 Symfony、Doctrine 和 Api-Platform Bundle 的新手。

有没有办法默认过滤一个集合。 我正在使用提供大约 3.000 行的 SQL 视图。在我的应用程序中,我只需要几个(大约 500 个左右)。

默认情况下,生成的实体会显示整个视图。在此视图中存在一个带有字符串值的列 (showInList)。现在我想有一种方法让 api 平台只显示具有这个特定值的所有员工。 我知道可以设置过滤器。但是,如果我删除过滤器或覆盖它,我会得到所有员工。

做这样的事情会很酷

@ORM\Entity(where="visibility = 'showInList'"

对不起,我的英语很差,非常感谢。

【问题讨论】:

【参考方案1】:

你应该使用扩展来做到这一点。这是一个工作示例:https://api-platform.com/docs/core/extensions

【讨论】:

以上是关于API 平台:具有默认 WHERE 子句的实体的主要内容,如果未能解决你的问题,请参考以下文章

linq 到实体,where 子句中的 where ? (内凡)

具有 LINQ 的实体框架在 WHERE 子句中使用 CONTAINS 非常慢且具有大整数列表

如何使用在 where 子句中具有父属性的休眠查询更新数据

具有许多表、左外连接和 where 子句的 LINQ 查询

在实体框架中使用动态 where 子句

实体框架 where 子句从特定列过滤