Есть такой код на GraphQl на сервере:
type LabelPrinter {
id: ID!
title: String!
ip: String!
port: Int!
shop_id: ID!
shop: Shop @belongsTo
}
type LabelPrinterPaginator {
data: [LabelPrinter!]!
paginatorInfo: PaginatorInfo!
}
extend type Query {
labelPrinters(
first: Int,
page: Int
): LabelPrinterPaginator
@paginate(
type: PAGINATOR,
model: "App\\Models\\LabelPrinter",
defaultCount: 50,
maxCount: 50
)
labelPrinter(id: ID! @eq): LabelPrinter
@find(model: "App\\Models\\LabelPrinter")
}
При запросе с фронта:
query {
labelPrinters(first: 50, page: 1) {
data {
id
title
}
}
}
Ошибки типа:
"message": "Cannot query field \"id\" on type \"LabelPrinterPaginator\".",
При выполнении
php artisan lighthouse:print-schema
выяснилось, что GraphQl сам создает тип:
"""A paginated list of LabelPrinterPaginator items."""
type LabelPrinterPaginatorPaginator {
"""Pagination information about the list of items."""
paginatorInfo: PaginatorInfo!
"""A list of LabelPrinterPaginator items."""
data: [LabelPrinterPaginator!]!
}
И присваивает его функции labelPrinters:
labelPrinters(
"""Limits number of fetched items. Maximum allowed value: 50."""
first: Int = 50
"""The offset from which items are returned."""
page: Int
): LabelPrinterPaginatorPaginator
Поэтому и ошибка с фронта такая, как указал выше.
Что с этим можно сделать?