Laravel 嵌套突变在Lighthouse 3.7中似乎不起作用

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

我正在尝试在Lighthouse 3.7/Laravel 5.8中设置一个模式 我想要实现的是: 用户应该能够创建clist。 用户和Clist之间存在一对多关系。 我正试图实现所描述的嵌套突变

我已经实现了查询部分,它工作得很好。 但当我在GraphQL游乐场中测试createClist突变时,我得到以下错误:

"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指令时,需要键入提示关系的返回类型。就是这样!它起作用了。谢谢!我将其作为答案发布,以便您可以接受: