Sure ..
This is The File I'm calling the getRolesNames() Inside UserRolesQuery.php
<?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;
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)
{
$user = User::find($args['id']);
$result = $user->getRoleNames();
return $result;
}
}
And If I Printed The $result before return it ..it prints :
Illuminate\Support\Collection {#680 // app\GraphQl\Query\User\UserRolesQuery.php:46
#items: array:1 [
0 => "Cacher"
]
#escapeWhenCastingToString: false
}
So It Seems The Roles Are Fetched Correctly !!
But Why it Still Returning NULL !!
{
"data": {
"userRoles": {
"role_id": null
}
}
}