【发布时间】:2020-06-26 03:22:49
【问题描述】:
我正在使用最新版本的 Sequelize、Node 和 Express。
我有一个名为“Producers”的模型,表名中的 eventProducers 具有以下列:
"id"
"name"
"email"
"url"
"description"
"createdAt"
"updatedAt"
"deletedAt"
我正在尝试使用此函数构建对象的视图:
export async function renderViewProducer(req, res) {
try {
const producer = await Producer.findByPk(req.params.id).toJSON;
if (producer) {
console.log('Producer: ', producer);
console.log('id: ', producer.id);
res.render('components/producers/view-producer', {producer});
} else {
req.flash('error_msg', 'La Productora que intenta ver no existe');
res.redirect('/producers');
}
} catch (error) {
console.log(error);
req.flash('error_msg', 'Ha ocurrido un error interno, por favor contacte al administrador');
res.redirect('/producers');
}
};
我使用的是 try/catch 而不是 Then 函数,也许我在那里遇到了问题。 我对 Promises 还是有点困惑。
这是我在文档中找到的:
public static async findByPk(param: number | string | Buffer, options: object): Promise<Model>
我确定问题一定出在这里,我没有得到模型。不知道为什么
这是我的控制台日志:
Producer: [Function]
id: undefined
Executing (default): SELECT "id", "name", "email", "url", "description", "createdAt", "updatedAt", "deletedAt" FROM "eventProducers" AS "eventProducer" WHERE ("eventProducer"."deletedAt" IS NULL AND "eventProducer"."id" = 'bac1ce11-0cb9-4d8c-88b3-558c168b8cbd');
我已经在 PGAdmin 复制并粘贴了查询并且工作正常。
我将 Producer 作为函数获取,而 Id 未定义。 我做错了什么?
提前致谢! 请注意。
【问题讨论】:
标签: node.js sequelize.js