当我执行以下graphQL查询时,它只有一个函数,并得到输出,如下所示。
我想要输出有最大的ID或最新的时间戳。
修改API是可能的,但我的约束是不对API进行任何更改,只对查询进行增强,请帮助我如何实现我的目标/期望的输出。
输入
query getAllCriticalevent{
getAllCriticalevent(patientId: 95)
{
id
startTime
}
}输出
{
"data": {
"getAllCriticalevent": [
{
"id": "107",
"startTime": "2019-06-14 12:47:57.0"
},
{
"id": "1464",
"startTime": "2019-10-10 16:08:35.0"
},
{
"id": "1465",
"startTime": "2019-10-10 16:09:09.0"
},
{
"id": "1466",
"startTime": "2019-10-10 16:09:44.0"
},
{
"id": "1469",
"startTime": "2019-10-10 16:11:28.0"
},
{
"id": "1470",
"startTime": "2019-10-10 16:12:03.0"
},
{
"id": "1484",
"startTime": "2019-10-10 16:20:09.0"
}
]
}
}我的预期输出是
{
"startTime": "2019-10-10 16:20:09.0"
}或
{
"id": "1484",
"startTime": "2019-10-10 16:20:09.0"
}发布于 2022-01-08 06:25:30
一种方法是将列添加到Type定义中,然后从解析器返回列。
在Laravel (非Java)中,定义:
'max' => [
'type' => Type::int(),
'description' => 'The highest score achieved'
],并且ORM解析器中有一个单独的查询(getMaxAttribute()被简单地引用为.max()):
public function getMaxAttribute() {
return DB::table('players')->max('score');
}将返回所需列的最大值。您在GraphQL中按名称请求列,就像普通的一样(例如。"{ .最大}")。
https://stackoverflow.com/questions/58340177
复制相似问题