Я хочу отфильтровать в призме для идентификатора отношения и получить ту же сущность, а не связанную обратно. Простой пример:
type User {
firstName: String!
lastName: String!
isOwner: [Meta!]! @relation(link: INLINE, name: "User_Meta_Owner")
id: ID! @id
}
type Meta {
owner: User! @relation(link: INLINE, name: "User_Meta_Owner")
area: Area! @relation(link: INLINE, name: "Meta_Area")
id: ID! @id
}
type Area {
id: ID! @id
name: String!
meta: Meta! @relation(link: INLINE, name: "Meta_Area")
}
В этом случае я хочу, чтобы все Meta
сущности имели владельца с идентификатором userID
и Area
с идентификатором areaID
.
Что возможно:
ctx.db.user({ id: 'userID' }).isOwner()
Получает все Meta
без фильтра для области.
То, что я хочу, это что-то вроде:
ctx.db.user({ id: 'userID' }).isOwner({ where: { area: 'areaID' })
ctx.db.metas({ where: [{ owner: 'userID' }, { area: 'areaID' }] })
Поскольку область свойств является только отношением, призма не дает мне возможности фильтровать или даже получать идентификаторы.
есть:
await ctx.db.user({ id: 'userID' }).isOwner()
приведет к массиву объектов вроде:
[{
id: '...'
}]
У меня вопрос: есть ли способ получить желаемый результат без удаления отношения и сохранения простых строк?