如何解决Laravel Lighthouse自定义解析器,用于嵌套hasMany / belongsTo突变
我有一个Profile
字段的reservedDates
模型(hasMany)。 dates
表具有以下列:id
,profile_id
和date
使用Lighthouse默认nested 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 举报,一经查实,本站将立刻删除。