auf meiner App Ich habe Benutzer und einige Benutzer sind Ärzte, einige sind Zahnarzt, einige sind Ernährungswissenschaftler, wenn ich meine Verwendung Ich möchte ein JSON zurück mit Benutzer und Benutzerdaten senden, diese Daten sind basiert auf zwei Säulen Benutzer (MODEL_ID und Modell), im doind es mit der benutzerdefinierten Methode versucht, genannt morphTo, soo habe ich das Modell namens BenutzerFortsetzung Modell benutzerdefinierte Methode zurück undefined
module.exports = function(sequelize, DataTypes) {
var user = sequelize.define('users', {
email: {type: Sequelize.STRING, field: 'email'},
password: Sequelize.STRING,
name: Sequelize.STRING,
company_id: Sequelize.INTEGER,
rg: Sequelize.STRING,
cpf: Sequelize.STRING,
birth_date: Sequelize.STRING,
sex: Sequelize.STRING,
address: Sequelize.STRING,
number: Sequelize.STRING,
complement: Sequelize.STRING,
neighborhood: Sequelize.STRING,
city: Sequelize.STRING,
cep: Sequelize.STRING,
uf: Sequelize.STRING,
obs: Sequelize.STRING,
status_id: Sequelize.INTEGER,
model_id: Sequelize.INTEGER,
model: Sequelize.STRING,
deleted_at: Sequelize.STRING,
created_at: Sequelize.STRING,
updated_at: Sequelize.STRING,
}, {timestamps:false, attributes: { exclude : [ 'password' ]},
classMethods: {
associate: function(models) {
user.belongsToMany(models.groups, {
through: {
model: models.user_groups
}, foreignKey:'user_id', as: 'groups'}),
user.belongsToMany(models.permissions, {
through: {
model: models.user_permissions
}, foreignKey:'user_id', as: 'permissions'})
},
morphTo: function(models, model_id, model){
if(model == 'medics'){
models.medics.findById(model_id).then(function(results) {
return results;
});
}else if(model == 'employees'){
models.employees.findById(model_id).then(function(results) {
return results;
});
}
}
}});
return user;
}
auf meiner Ressource ich habe dieses
models.users.findById(req.params.id).then(function(results) {
if(results)
console.log(models.users.morphTo(models, results.dataValues.model_id, results.dataValues.model));
else
res.status(204).send();
});
Meine Konsole läuft die qu er aber die Rückkehr ist "undefined"
Executing (default): SELECT `id`, `crm` FROM `medics` AS `medics` WHERE `medics`.`id` = 1
was habe ich vergessen?