169 похожих чатов

Модель User: const User = sequelize.define('user', { {

id: {
type: INTEGER,
primaryKey: true,
autoIncrement: true,
allowNull: false,
},
email: {
type: STRING,
unique: true,
allowNull: false,
validate: {
notEmpty: true,
isEmail: true,
},
},
},
})

Модель Role:

const Role = db.define(
'role',
{
name: {
type: STRING,
unique: true,
allowNull: false,
validate: {
notEmpty: true,
},
},
},
})

Role.associate = ({ User }) => {
Role.belongsTo(User, {
foreignKey: {
name: 'createdBy',
field: 'createdBy',
},
})
}

Мне нужно получить информацию о пользователе, не делая второй запрос на получение пользователя по ID в поле createdBy

Схема GraphQL

extend type Query {
roles(offset: Int, limit: Int): [Role!]
}

type User {
id: Int!
email: EmailAddress!
}

type Role {
id: Int!
name: String!
createdBy: User!
}

Я создаю пользователя и роль, добавляя только что созданного пользователя в качестве создателя роли:

const testScenario = async ({ DataTable, Role, User }) => {
const kanyeWest = await User.create({
email: 'kanye.west@gmail.com',
})
await Role.create({
name: 'Admin',
createdBy: kanyeWest
}

Когда я пытаюсь получить список ролей, получаю ошибку: "message": "Cannot return null for non-nullable field User.id."

query Roles {
roles(offset: 0, limit: 5) {
id
name
createdBy {
id
email
}
}
}

Но, если я изменю поле createdBy в схеме на Int, я получу айдишник пользователя

Что может быть не так? Как можно исправить это, чтоб получать полную инфу о пользователе

1 ответов

13 просмотров

скорее всего вы не загружаете пользователя из базы в ресолвере

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта