При компиляции запроса SELECT обнаружены неопределенные привязки

Я следую учебному пособию для страпи и застрял в части, где я запрашиваю блюда, принадлежащие ресторану. Я уверен, что все настроено правильно с определенным отношением один (ресторан) ко многим (блюда), но запрос не работает. Я проследил это к фактическому запросу, который является:

query {
    restaurant(id: "1") {
    id
    name
    dishes {
      name
      description
    }
  }
}

который возвращает ошибку, когда я запускаю его на детской площадке. Запрос не показывает никаких проблем, пока я пишу его, и не позволяет мне писать что-то вроде:

query {
    restaurant(where:{id: "1"}) {
    id
    name
    dishes {
      name
      description
    }
  }
}

Моя база данных mysql и две таблицы выглядят так:

mysql> describe dishes;
+-------------+---------------+------+-----+-------------------+-----------------------------+
| Field       | Type          | Null | Key | Default           | Extra                       |
+-------------+---------------+------+-----+-------------------+-----------------------------+
| id          | int(11)       | NO   | PRI | NULL              | auto_increment              |
| name        | varchar(255)  | YES  | MUL | NULL              |                             |
| description | longtext      | YES  |     | NULL              |                             |
| price       | decimal(10,2) | YES  |     | NULL              |                             |
| restaurant  | int(11)       | YES  |     | NULL              |                             |
| created_at  | timestamp     | NO   |     | CURRENT_TIMESTAMP |                             |
| updated_at  | timestamp     | NO   |     | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP |
+-------------+---------------+------+-----+-------------------+-----------------------------+
7 rows in set (0.00 sec)


mysql> describe restaurants;
+-------------+--------------+------+-----+-------------------+-----------------------------+
| Field       | Type         | Null | Key | Default           | Extra                       |
+-------------+--------------+------+-----+-------------------+-----------------------------+
| id          | int(11)      | NO   | PRI | NULL              | auto_increment              |
| name        | varchar(255) | YES  | MUL | NULL              |                             |
| description | longtext     | YES  |     | NULL              |                             |
| created_at  | timestamp    | NO   |     | CURRENT_TIMESTAMP |                             |
| updated_at  | timestamp    | NO   |     | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP |
+-------------+--------------+------+-----+-------------------+-----------------------------+
5 rows in set (0.00 sec)

Эти таблицы были автоматически сгенерированы страпями.

Полная ошибка в детской площадке заключается в следующем:

{
  "errors": [
    {
      "message": "Undefined binding(s) detected when compiling SELECT query: select `restaurants`.* from `restaurants` where `restaurants`.`id` = ? limit ?",
      "locations": [
        {
          "line": 2,
          "column": 3
        }
      ],
      "path": [
        "restaurant"
      ],
      "extensions": {
        "code": "INTERNAL_SERVER_ERROR",
        "exception": {
          "stacktrace": [
            "Error: Undefined binding(s) detected when compiling SELECT query: select `restaurants`.* from `restaurants` where `restaurants`.`id` = ? limit ?",
            "    at QueryCompiler_MySQL.toSQL (/Users/redqueen/development/deliveroo/server/node_modules/knex/lib/query/compiler.js:85:13)",
            "    at Builder.toSQL (/Users/redqueen/development/deliveroo/server/node_modules/knex/lib/query/builder.js:72:44)",
            "    at /Users/redqueen/development/deliveroo/server/node_modules/knex/lib/runner.js:37:34",
            "From previous event:",
            "    at Runner.run (/Users/redqueen/development/deliveroo/server/node_modules/knex/lib/runner.js:33:30)",
            "    at Builder.Target.then (/Users/redqueen/development/deliveroo/server/node_modules/knex/lib/interface.js:23:43)",
            "    at runCallback (timers.js:705:18)",
            "    at tryOnImmediate (timers.js:676:5)",
            "    at processImmediate (timers.js:658:5)",
            "    at process.topLevelDomainCallback (domain.js:120:23)"
          ]
        }
      }
    }
  ],
  "data":

Есть идеи, почему это происходит?

1 ответ

Кажется, это было ошибкой в ​​версиях s trapi alpha.v20 и alpha.v21. Для решения этой проблемы было опубликовано исправление ошибки, здесь вы найдете ветку проблем на github .

Другие вопросы по тегам