symfony - API 平台 - 有条件的急切加载
问题描述
我有 3 个实体,其中 2 个是全球性的,并且有公司关系。
用户角色、角色、配置。
UserRoles 和 Roles 是全局的,Configuration 是基于公司的。
我想要实现的是,当我调用 UserRoles 集合时,我有角色的规范化上下文,并且角色有配置的规范化上下文,我需要所有用户角色和角色的列表,但想按公司 ID 过滤配置。
我尝试使用 ACL 扩展和 DataProviders,但它仅适用于子资源调用。
{
"@id": "/api/user-roles/238870305571864576",
"@type": "UserRole",
"type": "onboarding",
"icon": null,
"thirdParty": false,
"sorting": 1,
"roles": [
{
"@id": "/api/roles/238870305567670278",
"@type": "Role",
"configurations": [
{
"@id": "/api/configurations/238870305756413952",
"@type": "Configuration",
"role": "/api/roles/238870305567670278",
"confValue": "865734",
"id": "238870305756413952"
},
{
"@id": "/api/configurations/238870305756413955",
"@type": "Configuration",
"role": "/api/roles/238870305567670278",
"confValue": "172599",
"id": "238870305756413955"
},
{
"@id": "/api/configurations/238870305756413957",
"@type": "Configuration",
"role": "/api/roles/238870305567670278",
"confValue": "467563",
"id": "238870305756413957"
}
],
"name": "activationKey",
"type": "string",
"required": false,
"sorting": 1,
"id": "238870305567670278"
},
{
"@id": "/api/roles/238870305567670279",
"@type": "Role",
"configurations": [
{
"@id": "/api/configurations/238870305756413953",
"@type": "Configuration",
"role": "/api/roles/238870305567670279",
"confValue": "2021-05-28T11:53:25+00:00",
"id": "238870305756413953"
},
{
"@id": "/api/configurations/238870305756413956",
"@type": "Configuration",
"role": "/api/roles/238870305567670279",
"confValue": "2021-05-28T11:53:25+00:00",
"id": "238870305756413956"
}
],
"name": "activationDate",
"type": "datetime",
"required": false,
"sorting": 2,
"id": "238870305567670279"
}
]
这是我现在的响应示例,您可以看到角色实体中的配置。
有没有办法将 QueryBuilder 函数应用到这个问题上,或者你只需要为这个问题创建自定义端点。
先感谢您。
解决方案
推荐阅读
- javascript - 无法从 selenium webdriver 的 Kendo 下拉菜单中选择一个选项
- compiler-errors - F# Implicit ModuleSuffix not working when using fully qualified name
- python - 在python中,如何减去两列具有时间值的excel文件并创建它的新列?
- swift - 在 Core Data 中检索具有过滤子级的父级
- python - 多线程使我的代码有一些问题
- azure-devops - 如何在发布管道中使用来自构建管道的自定义变量
- python - 如何使用包含 12 个值的平均每月数据的线性插值来生成精确中点的 365 天数据?
- android - 在清除搜索视图中的数据时,它应该删除过滤列表并填充原始列表
- python - 类型错误:+ 不支持的操作数类型:使用 str(sum(list)) 时的“int”和“str”
- android - 如何在 adb run-as 命令中使用“if”?