2
У меня есть модель с именем User. Могу ли я продлить еще одну модель Admin/mod от модели пользователя? Я нашел документ secelize, но я не узналМожет ли ORM преследовать полиморфизм?
У меня есть модель с именем User. Могу ли я продлить еще одну модель Admin/mod от модели пользователя? Я нашел документ secelize, но я не узналМожет ли ORM преследовать полиморфизм?
Да, посмотрите Associations documentation, или более полно в Scopes documentation.
Из документов:
this.Comment = this.sequelize.define('comment', {
title: Sequelize.STRING,
commentable: Sequelize.STRING,
commentable_id: Sequelize.INTEGER
});
this.Comment.prototype.getItem = function() {
return this['get' + this.get('commentable').substr(0, 1).toUpperCase() + this.get('commentable').substr(1)]();
};
this.Post.hasMany(this.Comment, {
foreignKey: 'commentable_id',
constraints: false,
scope: {
commentable: 'post'
}
});
this.Comment.belongsTo(this.Post, {
foreignKey: 'commentable_id',
constraints: false,
as: 'post'
});
this.Image.hasMany(this.Comment, {
foreignKey: 'commentable_id',
constraints: false,
scope: {
commentable: 'image'
}
});
this.Comment.belongsTo(this.Image, {
foreignKey: 'commentable_id',
constraints: false,
as: 'image'
});
Это действительно не поддерживается в настоящее время, но есть несколько способов сделать подобные конструкции с использованием Sequelize. Основное обсуждение можно найти по адресу: https://github.com/sequelize/sequelize/issues/1307 – iwasrobbed