присоединиться к статистической функции монстра, используя graphql - PullRequest
0 голосов
/ 11 февраля 2019

Как использовать количество монстров соединения (), используя узел с graphql?

Это показывает ошибку

Вот мой код

const Films = new GraphQLObjectType({
 name: 'films',

  fields: () => ({

viewStatus: {
            type: new GraphQLList(VideoLogs),
            args: {
                movie_id: {
                    type: GraphQLString
                }
            },

            sqlExpr: filmTable => `(SELECT count(id) FROM video_logs WHERE movie_id = ${filmTable}.id)`

        },

Запрос----------

var studio_id = " ";
const QueryRoot = new GraphQLObjectType({
  name: 'Query',
  fields: () => ({
    getContentDetails: {
      type: new GraphQLList(Films),
      args: {
        id: {
          type: GraphQLInt
        },
        permalink: {
            type: GraphQLString
        },
        studio_id: {
            type: GraphQLString
        },
        content_types_id: {
            type: GraphQLString
        },

      },

      resolve: (parent, args, context, resolveInfo) => {

         var sql = AuthDb.models.oauth_registration.findAll({attributes: ['oauth_token', 'studio_id'],where:{oauth_token:context.headers['authorization']},limit:1}).then(oauth_registration => { 

            for(var i = 0;i<=oauth_registration.length;i++){

                    if(oauth_registration[i].oauth_token == context.headers['authorization']){

                       studio_id = oauth_registration[i].studio_id;
                    return joinMonster.default(resolveInfo,{}, sql => {
                     return FilmDb.query(sql).then(function(result) {  

                            return result[0];
                        });   
                    } ,{dialect: 'mysql'});

                 }else{
                        throw new Error('Give Valid Parameters..');
                    }
                 }

                throw new Error('Give a Valid oauth token');
                })
       return sql;
      },
      where: (filmTable, args, context) => {
      return ` ${filmTable}.permalink = "${args.permalink}" and ${filmTable}.content_types_id = "${args.content_types_id}" and ${filmTable}.studio_id = "${studio_id}"`
        },
    }
  })
})

Отображается ошибка, когда я нажимаю URL-адрес в почтальоне

Если тип объекта отображается на таблицу SQL и имеет дочерний элемент, который являетсядругой тип объекта, который также сопоставляется с таблицей SQL, \ n вы должны определить «sqlJoin», «sqlBatch» или «junction» в этом поле, чтобы сообщить joinMonster, как его получить

...