我使用的文件:
<?php
namespace App\GraphQl\Query\User;
use App\GraphQl\Traits\UserTrait;
use App\Models\User;
use GraphQL\Type\Definition\ResolveInfo;
use Rebing\GraphQL\Support\Facades\GraphQL;
use GraphQL\Type\Definition\Type;
use Rebing\GraphQL\Support\Query;
GraphQl UserRolesQuery文件:
use Closure;
class UserRolesQuery extends Query
{
use UserTrait;
protected $attributes = [
'name' => 'user',
];
public function type(): Type
{
return GraphQL::type('UserType');
}
public function args(): array
{
return [
'id' => [
'name' => 'id',
'type' => Type::int(),
// 'rules' => ['required'] validation
],
];
}
public function resolve($root, array $args, $context, ResolveInfo $resolveInfo, Closure $getSelectFields)
{
希望返回用户角色名的Resolve函数
$user = User::find($args['id']);
$result = $user->getRoleNames();
return $result;
}
}
我希望$user->getRoleNames();
返回用户角色名称..但它总是返回NULL
1条答案
按热度按时间s5a0g9ez1#
此函数返回集合,如果只想获取角色名称,则必须更改返回类型
也在解决