Laravel灯塔在哪里放置非根字段解析器?



在lighthouse文档中的示例中,他们给出了一个解析非根字段的示例方法。

<?php
use AppModelsUser;
function resolveUserId(User $user): string
{
return $user->name; // test...
}

所以我的猜测是灯塔将搜索一个resolveUser{Field}方法,并调用它,如果它存在。但我该把方法放在哪里呢?示例中没有类名或命名空间。

type Query @guard(with: ["api"]) {我:用户!@auth}

type User {
id: ID!
name: String!
email: String!
posts (content_contains: [String]): [Post!]! @hasMany #Would like to be able to resolve content_contains somehow...
created_at: DateTime!
updated_at: DateTime!
}

文档URL:

https://lighthouse-php.com/4.9/the-basics/fields.html resolving-non-root-fields

您是否想使用@field,例如?它可以是具有任何名称空间的任何类。只是一定要明确它。例如,在app/Graphql/UserPostsResolver.php中,您可以有一个具有handle函数的类。所以在你的模式中你会使用posts: [Post!] @field(resolver: "App\Graphql\UserPostsResolver@handle")

相关内容

  • 没有找到相关文章

最新更新