gpt4 book ai didi

node.js - 将选项传递给 Sequelize Hook 不起作用

转载 作者:行者123 更新时间:2023-12-03 22:16:18 26 4
gpt4 key购买 nike

我目前正在尝试将选项传递给 Sequelize Hook ,但是当我尝试访问 Hook 内传递的选项时,它们始终是未定义的。有人知道我在监督什么吗?

这是查询:

db.customer.findAll({
where: searchObject,
offset: offset,
limit: limit,
order: orderOptions
}, {
user: req.user
}).then(customers => {
// more code here

这是包含钩子(Hook)定义的模型:

const db = require("../server/database");
const Sequelize = require('sequelize');
const Op = Sequelize.Op;

module.exports = function (sequelize, Sequelize) {

var Customer = sequelize.define('customer', {
id: {
autoIncrement: true,
primaryKey: true,
allowNull: false,
type: Sequelize.INTEGER
},
salutation: {
type: Sequelize.TEXT
},
title: {
type: Sequelize.TEXT
},
firstName: {
type: Sequelize.TEXT
},
lastName: {
type: Sequelize.TEXT
}
}, {
freezeTableName: true
});

Customer.beforeFindAfterExpandIncludeAll((instance, options) => {
console.log(options);
});

return Customer;
}

最佳答案

我自己找到了问题的解决方案。我完全放弃了选项部分,并采用了以下按预期工作的方法:

db.customer.findAll({
where: searchObject,
offset: offset,
limit: limit,
order: orderOptions,
user: req.user
}).then(customers => {
// more code here
Customer.beforeFindAfterExpandIncludeAll((instance) => {
console.log(instance.user); // This logs the user object correctly
});

最初的方法在其他几篇 StackOverflow 帖子中进行了演示,但似乎不再有效。

虽然这篇文章中展示的方法可能会让理解传递的用户对象的目的变得有点困难,但它可以很好地完成工作。

关于node.js - 将选项传递给 Sequelize Hook 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66291003/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com