2017-12-07 97 views
6
module.exports = (sequelize, DataTypes) => { 
    const User = sequelize.define(
    "User", 
    { 
     username: { 
     type: DataTypes.STRING, 
     unique: true 
     }, 
     firstName: { 
     type: DataTypes.STRING 
     }, 
     lastName: { 
     type: DataTypes.STRING 
     }, 
     email: { 
     type: DataTypes.STRING 
     }, 
     password: { 
     type: DataTypes.STRING 
     }, 
     lastLogin: { 
     type: DataTypes.DATE 
     }, 
     active: { 
     type: DataTypes.BOOLEAN 
     }, 
     lastName: { 
     type: DataTypes.STRING 
     } 
    }, { 
     paranoid: true, 
     classMethods: { 
     associate: models => { 
      User.hasOne(models.User, { 
      as: "createdByUser" 
      }) 

      User.hasOne(models.User, { 
      as: "updatedByUser" 
      }) 
     } 
     } 
    } 
) 

    return User 
}; 

yaratmak değil, ama orada değil. Neyi yanlış yapıyorum?Kendime referans Sequelize modeli bir alan Postregs veritabanıyla içinde <code>createdByUser</code> çağrılacak beklenir fazladan sütun

cevap

2

Çözüm Sequelize yeni sürümünde

module.exports = (sequelize, DataTypes) => { 
    const User = sequelize.define(
    "User", 
    { 
     username: { 
     type: DataTypes.STRING, 
     unique: true 
     }, 
     firstName: { 
     type: DataTypes.STRING 
     }, 
     lastName: { 
     type: DataTypes.STRING 
     }, 
     email: { 
     type: DataTypes.STRING 
     }, 
     password: { 
     type: DataTypes.STRING 
     }, 
     lastLogin: { 
     type: DataTypes.DATE 
     }, 
     active: { 
     type: DataTypes.BOOLEAN 
     } 
    }, { 
     paranoid: true 
    } 
) 

    User.associate = models => { 
    User.hasOne(models.User, { 
     as: "createdByUser" 
    }) 

    User.hasOne(models.User, { 
     as: "updatedByUser" 
    }) 
    } 

    return User 
}; 

(4+), classMethods

için gerek yoktur oldu
İlgili konular