Examples\Blog\Schema\BlogSchema::build PHP Метод

build() публичный Метод

public build ( SchemaConfig $config )
$config Youshido\GraphQL\Config\Schema\SchemaConfig
    public function build(SchemaConfig $config)
    {
        $config->getQuery()->addFields(['latestPost' => ['type' => new PostType(), 'resolve' => function ($value, array $args, ResolveInfo $info) {
            return $info->getReturnType()->getOne(empty($args['id']) ? 1 : $args['id']);
        }], 'randomBanner' => ['type' => new BannerType(), 'resolve' => function () {
            return DataProvider::getBanner(rand(1, 10));
        }], 'pageContentUnion' => ['type' => new ListType(new ContentBlockUnion()), 'resolve' => function () {
            return [DataProvider::getPost(1), DataProvider::getBanner(1)];
        }], 'pageContentInterface' => ['type' => new ListType(new ContentBlockInterface()), 'resolve' => function () {
            return [DataProvider::getPost(2), DataProvider::getBanner(3)];
        }]]);
        $config->getMutation()->addFields([new LikePostField(), 'createPost' => ['type' => new PostType(), 'args' => ['post' => new PostInputType(), 'author' => new StringType()], 'resolve' => function ($value, array $args, ResolveInfo $info) {
            // code for creating a new post goes here
            // we simple use our DataProvider for now
            $post = DataProvider::getPost(10);
            if (!empty($args['post']['title'])) {
                $post['title'] = $args['post']['title'];
            }
            return $post;
        }]]);
    }
BlogSchema