Ich verwende Version v1.4.2.18. Die Bibliothek kann hier gefunden werden: https://github.com/Youshido/GraphQLPHP Youshido GraphQL Problem mit verschachtelten Feldern
Ich versuche folgendes zu erreichen:
query {
articleSummary(id:1) {
title,
body,
article {
id
}
}
}
Ich habe eine ArticleSummaryField.php:
class ArticleSummaryField extends AbstractField
{
public function build(FieldConfig $config)
{
$config->addArgument('id', new NonNullType(new StringType()));
}
public function getType()
{
return new ArticleSummaryType();
}
public function resolve($value, array $args, ResolveInfo $info)
{
return [
'title' => 'test title',
'body' => 'test body',
'article' => $args['id']
];
}
}
Dann wird die ArticleSummaryType.php:
class ArticleSummaryType extends AbstractObjectType
{
public function build($config)
{
$config
->addField('title', new StringType());
->addField('body', new StringType());
->addField('article', new ArticleField());
}
}
Dann die ArticleField.php hat die getType-Methode den ArticleType whi zurückgeben ch hat das Feld id
.
aber was ich bin immer ein Fehler:
Fatal error: Uncaught Error: Call to undefined method ArticleField::getNullableType() in .../vendor/youshido/graphql/src/Execution/Processor.php on line 135
Was passiert zu sein scheint, ist, dass, wenn $targetField->getType()
auf Linie 135 in src/Execution/Processor.php genannt wird seine die ArticleField
Klasse zurückkehrt, nicht die ArticleType
Klasse.
Ich würde erwarten, dass die Klasse zurückgegeben wird, wie in der 'getType' -Methode für die ArticleField-Klasse deklariert.
Bin ich das falsch für Schachtelfelder? Oder gibt es einen Fehler in der Bibliothek?