2016-10-16 1 views
0

Для интернет-магазина я пытаюсь создать ассоциацию, поэтому пользовательский идентификатор становится автором и считает его достаточным, если я это сделаю: Review.belongsTo (User, {as: 'author'}) - однако его не и все authorId's являются нулевыми. Любая помощь будет оценена!Sequelize - как создать правильную ассоциацию, чтобы userid стал автором отзывов?

Моя ассоциация:

Review.belongsTo(User, {as:'author'}) 

Моя модель:

var Review = db.define('review', { 
    title: { 
     type: Sequelize.STRING, 
     allowNull: false 
    }, 
    content: { 
     type: Sequelize.TEXT 
    }, 
    rating: { 
     type: Sequelize.INTEGER, 
     validate:{ 
      min: 0, 
      max:5 
     } 
}); 

module.exports = Review; 

Мой маршрут для гостей:

router.post('/:productId', function(req,res,next){ 
    Review.create(req.body) // OB/SB: watch out for abuse 
    .then(function(review){ 
     return review.reload({include: [{model: User, as: 'author'}]}) 
    }) 
    .then(function(reviewId){ 
     res.status(201).json(reviewId); 
    }) 
    .catch(next) 
}) 

ответ

0

Для ассоциации:

Review.belongsTo(User, {as:'author'}) 

Ваша модель должна быть

var Review = db.define('review', { 
    title: { 
     type: Sequelize.STRING, 
     allowNull: false 
    }, 
    authorId: { 
      type: DataTypes.INTEGER(11), 
      allowNull: true 
     } 
    content: { 
     type: Sequelize.TEXT 
    }, 
    rating: { 
     type: Sequelize.INTEGER, 
     validate:{ 
      min: 0, 
      max:5 
     } 
}); 

module.exports = Review; 

 Смежные вопросы

  • Нет связанных вопросов^_^