Sequelize Model: Ошибка Недопустимое значение модели друга - PullRequest
0 голосов
/ 30 сентября 2019

Я хочу получить сообщение для моего домашнего экрана. Это сообщение может быть только из сообщения текущего пользователя, либо из того сообщения пользователя, за которым следует текущий логин, для этого я пишу следующий код в Nodejs, но когда я запускаю свой код, тогдаЯ получил следующую ошибку

Ошибка: недопустимое значение {модель: друзья, как: 'последователь', требуется: истина, где: {follower_id: 5, статус: 'A'}}

Модель друга

'use strict'
module.exports = (sequelize, DataTypes) => {
    const Friend = sequelize.define('friends', {
        id: {
            type: DataTypes.INTEGER,
            primaryKey: true
        },
        follower_id: {
            type: DataTypes.INTEGER
        },
        following_id: {
            type: DataTypes.INTEGER
        }
    }, {
        timestamp: false
    });
    return Friend;
};

Базовая модель

'use strict'
const Sequelize = require('sequelize');
const sequelize = new Sequelize('db_name', 'root', 'root', {
    host: 'localhost',
    dialect: 'mysql'
});

// Connect all the models/tables in the database to a db object, 
//so everything is accessible via one object
const db = {};

db.Sequelize = Sequelize;
db.sequelize = sequelize;

//Models/tables
db.users = require('./User.js')(sequelize, Sequelize);
db.comments = require('./Comments.js')(sequelize, Sequelize);
db.posts = require('./Post.js')(sequelize, Sequelize);
db.postbox = require('./PostBox.js')(sequelize, Sequelize);
db.friend = require('./Friend.js')(sequelize, Sequelize);

//Relations
db.comments.belongsTo(db.posts);
db.posts.hasMany(db.comments);
db.posts.belongsTo(db.users, {targetKey: 'id', foreignKey: 'user_id'});
db.users.hasMany(db.posts, {targetKey: 'id', foreignKey: 'user_id', as: "posts"});
db.friend.hasOne(db.postbox, {targetKey: 'user_id', foreignKey: 'following_id', as: 'follower'});

function getHomePosts(user_id) {
    var homePosts = db.postbox.findAll({
        where: {
            user_id: user_id,
            include: [
                {
                    model: db.friend,
                    as: 'follower',
                    required: true,
                    where: {follower_id: user_id, status: 'A'}
                }
            ]
        },
        attributes: ["user_posts_id"],
        limit: 40
    });
    return homePosts;
}

module.exports = {getHomePosts: getHomePosts};

, когда я вызываю метод getHomePosts, тогда я получил ошибку выше. Я не знаю, где я делаю ошибку в своем коде.

...