【发布时间】:2021-10-19 14:44:35
【问题描述】:
我正在尝试获取模型并将过滤器添加到其中一个 hasMany 关系中。
假设我有两个模型。一个是Location,另一个是LocationAnalytic。
Location 模型有很多 LocationAnalytic 类。因此,当我想通过 Id 检索位置时,它会返回所有 Location 数据并返回 LocationAnalytic 数据作为数组。在我的例子中,一个 Location 模型可以与数千个 LocationAnalytic 模型相关。
我需要获取Location 模型,但也只获取已通过给定过滤器过滤的相关LocationAnalytic 数据。通过这种方式,我将获得相同的 Location 数据,并且在同一响应中也仅获得几个 LocationAnalytic 数据。
类似于 whereHas 指令,但它不会检查是否存在,它只会过滤模型的关系。
我的查询将如下所示;
query($id:Int!) {
location (id: $id) {
id
parent_id
name
admin_level
country
analytic {
id
category_id
total_listings_count
new_listings_count
expired_listings_count
created_at
}
}
}
我的过滤器将类似于以下内容
{
"location_idid": 100075,
"analytics": {
"AND": [
{ "column": "CATEGORY_ID", "operator": "EQ", "value": 390005 }
]
}
}
【问题讨论】:
-
下面的答案对你有用吗?如果是这样,请将其标记为关闭您的问题的答案
标签: laravel laravel-lighthouse