Laravel Lighthouse自定义解析器,用于嵌套hasMany / belongsTo突变

问题描述

我有一个Profile字段的reservedDates模型(hasMany)。 dates表具有以下列:idprofile_iddate

使用Lighthousenested mutation directive/resolvers时,我可以执行以下操作,但是更新这些代码所需的代码远非理想:

input SetReservedDates {
    delete: [ID!]
    upsert: [DriverAvailibilityExceptionInput!]
}

input ProfileInput {
  id: ID!
  reservedDates: SetReservedDates
}

因此,当我们更新reserveDates时,我需要知道已删除哪个日期(通过ID),传递具有ID的现有日期并添加新日期。像这样的东西:

mutation {
  updateProfile(input: {
    id: 1,reservedDates: [
      delete: [14,42],upsert: [{id: 17,date: "2020-07-14"},{date: "2021-04-01"}]
    ]
  }) {}
}

通过这种设置,前端需要执行大多数我希望在后端执行的逻辑。

理想的API是将一组日期传递给此字段,并在laravel中执行“魔术”高位插入/删除操作。例如:

mutation {
  updateProfile(input: {
    id: 1,reservedDates: ["2020-07-14","2021-04-01"]
  }) {}
}

有可能吗?也许使用FieldMiddleware resolver可以将它们应用于突变/输入吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)