https://www.graphqlbin.com/v2/gLg9FP
我现在坚持这个问题一天,需要帮助 . 我有2个续集模型
module.exports = (sequelize, DataTypes) => {
const Periodo = sequelize.define('periodo', {
...
cod_casa: {
type: DataTypes.INTEGER(11),
allowNull: false,
field: 'cod_casa'
},
....
},
...
);
Periodo.associate = (models) => {
Periodo.belongsTo(models.casa);
};
return Periodo;
}
和
const Casa = sequelize.define('casa', {
cod_casa: {
type: DataTypes.INTEGER(11),
allowNull: false,
primaryKey: true,
autoIncrement: true,
field: 'cod_casa'
},
.....
Casa.associate = (models) => {
Casa.hasMany(models.periodo);
};
return Casa;
}
但是graphQl总是返回一个错误:
"extensions":{"code":"INTERNAL_SERVER_ERROR","exception":{"name":"SequelizeDatabaseError","parent":{"code":"ER_BAD_FIELD_ERROR","errno":1054,"sqlState":"42S22","sqlMessage":"Unknown column 'casaCodCasa' in 'field list'","sql":“SELECT id
, cod_casa
, inicio
, fim
, preco_semana
AS precoSemana
, preco_dia
AS precoDia
, preco_fimsemana
AS precoFimsemana
, estadia_minima
AS estadiaMinima
, descricao
, observacoes
, createdAt
,_ updatedAt
, casaCodCasa FROM periodo
AS periodo
WHERE periodo.casaCodCasa = 23;“ },
这个问题似乎与关系定义有关 . 我也很好地定义了解析器和graphQL架构 . 有人像这样有点麻烦吗?提前致谢 .
2 回答
您需要定义外键自定义,因为您没有使用默认主键作为ID
根据DOC:
Fix在关系/关联ex的定义中包含o自定义外键选项:
和
作为@Vivek Doshi saind但两个模特 .