Я строю API GraphQl с пакетом Lighthouse GraphQL для laravel
У меня есть запрос и схема, как это
extend type Query {
products(type: String items: Int category: [String]): ProductPaginator
}
type Product {
name: String
slug: String
price: String
description: String
stock_count: String
created_at: DateTime
updated_at: DateTime
}
type ProductPaginator {
data: [Product]
}
Я хочу вернуть набор разбитых на страницы результатов из базы данных
, вот преобразователь
return new ProductCollection(Product::paginate());
, а это ресурс API
class ProductCollection extends ResourceCollection
{
public $collects = "App\Http\Resources\Product\Product";
/**
* Transform the resource collection into an array.
*
* @param \Illuminate\Http\Request $request
* @return array
*/
public function toArray($request)
{
return $this->collection->toArray();
}
}
проблема в том, что когда я запускаю запрос graphql следующим образом
query {
products(type: "normal", items: 10 category: ["here"]){
data{
name,
price
}
}
}
, он всегда возвращает данные
, но затем я пробовал это
$data = [
"data" => [
[
"name" => "emeka",
"price" => 23
],
[
"name" => "Dubem",
"price" => 43
],
]
];
return $data;
, и он работал как ожидалось. я не знаю, что я делаю здесь неправильно. Мне нужна помощь.