Я хотел бы добавить метод экземпляра в модель Sequelize
User
с postgres
. Модель User
определяется следующим образом:
const Sql = require('sequelize');
const db = require("../startup/db");
const User = db.define('user', {
id: {type: Sql.INTEGER,
primaryKey:true,
min: 1},
name: {type: Sql.STRING,
allowNull: false,
min: 2,
max: 50
},
email: {type: Sql.STRING,
isEmail: true},
encrypted_password: {type: Sql.STRING,
min: 8},
createdAt: Sql.DATE,
updatedAt: Sql.DATE
});
Я ищу что-то подобное в модели User
:
User.instanceMethods.create(someMethod => function() {
//method code here
});
Доступ к методу экземпляра может быть таким:
let user = new User();
user.someMethod();
Есть Instance
для модели в Sequelize
, но не для метода экземпляра. Как правильно добавить метод экземпляра в модель Sequelize
?
2 ответа
Вот ответ на вопрос. См. Ответ Mariano
.
Не удается получить доступ к методам экземпляров Sequelize
Вот еще чтение: https://codewithhugo.com/using-es6-classes-for -sequelize - 4 - модели /
const User = db.define('user', {
id: {type: Sql.INTEGER,
primaryKey:true,
min: 1},
name: {type: Sql.STRING,
allowNull: false,
min: 2,
max: 50
},
email: {type: Sql.STRING,
isEmail: true},
encrypted_password: {type: Sql.STRING, min: 8},
createdAt: Sql.DATE,
updatedAt: Sql.DATE
});
// This an hook function
User.beforeSave((user, options) => {
// Do something
});
// This is a class method
User.classMethod = function (params) {
// Do something with params
}
// This is an instance method
User.prototype.instanceMethod = function (params) {
// Do something with params
}
Похожие вопросы
Связанные вопросы
Новые вопросы
node.js
Node.js - это неблокирующая асинхронная среда ввода-вывода, основанная на событиях, использующая движок Google V8 JavaScript и библиотеку libuv. Он используется для разработки приложений, которые интенсивно используют возможность запуска JavaScript как на клиенте, так и на стороне сервера, и, следовательно, выигрывают от повторного использования кода и отсутствия переключения контекста.