{ // 全てのTodoの取得 todos, err := model.ListAllTodos(ctx, s.db) if err != nil { return nil, err } return lo.Map(todos, func (todo *model.Todo, _ int) *gql.Todo { return &gql.Todo{ ID: todo.ID, Text: todo.Text, Done: todo.Done, // IDだけをTodo構造体に設定する UserID: todo.UserID, } }), nil } func (r *todoResolver) User(ctx context.Context, obj *gql.Todo) (*gql.User, error) { // Todoから受け取ったUserIDを使って取得 user, err := model.GetUser(ctx, s.db, obj.UserID) // <- ここが問題! if err != nil { return nil, err } return &gql.User{ ID: user.ID, Name: user.Name, }, nil }