Laravel GraphQL GroupBy
我试图弄清楚这是否可能,是否有一个最佳实践可以实现这一点。我们正在使用这个包在Laravel中实现一个GraphQLAPI 假设我们希望所有按品牌分组的汽车在图表中显示每个品牌的数量 没有分组的请求应如下所示:Laravel GraphQL GroupBy,laravel,graphql,Laravel,Graphql,我试图弄清楚这是否可能,是否有一个最佳实践可以实现这一点。我们正在使用这个包在Laravel中实现一个GraphQLAPI 假设我们希望所有按品牌分组的汽车在图表中显示每个品牌的数量 没有分组的请求应如下所示: { cars { id, brand } } { cars { ...car } manufacturers { name cars{ ...car } } } fragment car on Car
{
cars {
id,
brand
}
}
{
cars {
...car
}
manufacturers {
name
cars{
...car
}
}
}
fragment car on Car {
id
manufacturer
name
}
这样,每个品牌的金额可以在客户端计算。但如何在服务器端做到这一点
例如:
{
carMetrics(groupBy: "brand") {
group,
amount
}
}
这将返回一个包含该组和该组中汽车数量的对象数组
因为args和result的定义是最终的,所以我们必须为每个需要分组的对象创建一个新的查询和类型。这是一种方法还是有一种更动态的方法来实现GraphQL中的group by?我在阿波罗发射台上设置了一个快速示例,说明我可能会采取的类似方法:。您可以使用底部的查询来测试它(它不会为您保存) 定义是这样的
type Car {
id: ID
manufacturer: String
name: String
}
type Manufacturers {
name: String
cars: [Car]
}
type Query {
cars: [Car]
manufacturers: [Manufacturers]
}
查询看起来更像这样:
{
cars {
id,
brand
}
}
{
cars {
...car
}
manufacturers {
name
cars{
...car
}
}
}
fragment car on Car {
id
manufacturer
name
}