graphql-php кто получить результат по id

Я новичок в graphql, и я никогда не использовал отдых или другой язык, подобный этому.

Я могу просто получить фиксированное значение с моим уровнем сейчас.

У меня есть файл схемы, как следовать
demo.schema

schema {
query: Query
}

type Query {
id(id: Int): sub
}

type sub{
name: String
age: Int
}

вот demo.php:

declare(strict_types=1);
require_once 'vendor/autoload.php';
$typedef = file_get_contents('demo.graphql');

$rootValue = include 'rootvalue.php';

use \GraphQL\GraphQL;
use \GraphQL\Utils\BuildSchema;


// build schema and get query string
$schema = BuildSchema::build($typedef);
$param = file_get_contents("php://input");
$param = json_decode($param, true);
$param = $param['query'];

// get result and print it
$r = GraphQL::executeQuery($schema, $param, $rootValue)->toArray();
print_r(json_encode($r));

вот rootvalue.php

interface Root
{
public function reslove($root, $args, $context);
}


class age implements Root
{
public function reslove($root, $args, $context)
{
return 30;
}
}

class name implements Root
{
public function reslove($root, $args, $context)
{
return 'Miami';
}
}

return [
'id'       =>  function($root, $args){
return $root;
},

'age'       =>  function($root, $args, $context) {
$new = new age();
return $new->reslove($root, $args, $context);
},

'name'       =>  function($root, $args, $context) {
$new = new name();
return $new->reslove($root, $args, $context);
},
];

Теперь я MySQL таблицы БД с именем user, она имеет id, name, age поля

как я могу получить результат, как user.id=1

Теперь я могу просто вернуть значение, как «30», «Майами».

Но теперь мне нужно получить данные по базе данных, так что это будет такой запрос из клиентского браузера

query{
id(id: 0){
name
age
}
}

я знаю, что кошка получает значение arg id в rootvalue.php

'id'=>function($root, $args){
$args['id'] // it will be get a value '1'
return $root;
},

но это мой предел, что я могу сделать. Я не могу получить идентификатор в другом месте, как это сделать?

PS:
Я знаю, как получить данные из базы данных, просто не знаю времени для извлечения базы данных и как передать эти данные в подобъект

2

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]