Laravel 嵌套突变在Lighthouse 3.7中似乎不起作用
我正在尝试在Lighthouse 3.7/Laravel 5.8中设置一个模式 我想要实现的是: 用户应该能够创建clist。 用户和Clist之间存在一对多关系。 我正试图实现所描述的嵌套突变 我已经实现了查询部分,它工作得很好。 但当我在GraphQL游乐场中测试createClist突变时,我得到以下错误:Laravel 嵌套突变在Lighthouse 3.7中似乎不起作用,laravel,graphql,laravel-lighthouse,Laravel,Graphql,Laravel Lighthouse,我正在尝试在Lighthouse 3.7/Laravel 5.8中设置一个模式 我想要实现的是: 用户应该能够创建clist。 用户和Clist之间存在一对多关系。 我正试图实现所描述的嵌套突变 我已经实现了查询部分,它工作得很好。 但当我在GraphQL游乐场中测试createClist突变时,我得到以下错误: "debugMessage": "Array to string conversion", "message": "Internal server error", "extensi
"debugMessage": "Array to string conversion",
"message": "Internal server error",
"extensions": {
"category": "internal"
},
...
我不知道我做错了什么
这是我的密码:
type Mutation {
createClist(input: CreateClistInput! @spread): Clist @create
}
input CreateClistInput {
name: String!
description: String
starred: Boolean
user: CreateUserRelation!
ctags: CreateCtagRelation
}
input CreateUserRelation {
connect: ID!
}
input CreateCtagRelation {
create: [CreateCtagInput!]
connect: [ID!]
sync: [ID!]
}
input CreateCtagInput {
name: String!
}
下面是GraphQL游乐场的屏幕截图:
当使用@spread指令时,需要在模型中的关系上提供类型提示
摘自以下示例:
use Illuminate\Database\Eloquent\Relations\BelongsTo;
class Post extends Model
{
// WORKS
public function user(): BelongsTo
{
return $this->belongsTo(User::class);
}
// DOES NOT WORK
public function comments()
{
return $this->hasMany(Comment::class);
}
}
Lighthouse使用类型提示来确定它应该如何处理关系。使用@spread指令时,需要在模型中对关系进行类型提示
摘自以下示例:
use Illuminate\Database\Eloquent\Relations\BelongsTo;
class Post extends Model
{
// WORKS
public function user(): BelongsTo
{
return $this->belongsTo(User::class);
}
// DOES NOT WORK
public function comments()
{
return $this->hasMany(Comment::class);
}
}
Lighthouse使用类型提示来确定它应该如何处理这种关系。您能展示一下您的模型吗?当使用Lighthouse@spread指令时,需要键入提示关系的返回类型。就是这样!它起作用了。谢谢!我把它贴出来作为一个答案,这样你就可以接受了:你能展示你的模型吗?当使用Lighthouse@spread指令时,需要键入提示关系的返回类型。就是这样!它起作用了。谢谢!我将其作为答案发布,以便您可以接受: