Как заказать запись с подсчетом включенных моделей? - PullRequest
0 голосов
/ 27 апреля 2020

Я новичок в postress и пытаюсь реализовать postress с nodejs, используя sequelize, я занимаюсь одним запросом, на самом деле мне нужно отсортировать данные, используя количество включаемых моделей.

user = sequelize.define("users",
{
 ....different Field
});

const order = sequelize.define("orders",
{
.... different field,
 sellerId: {
  type: DataTypes.INTEGER,
  field: "sellerId",
  allowNull: false
},
});

order.belongsTo(user, { as: "seller", foreignKey: "sellerId" });
user.hasMany(order, { foreignKey: "sellerId" });

теперь мне нужно для извлекать заказы пользователей и пользователей, а затем сортировать их по количеству заказов, которые я пытался выполнить, следуя инструкциям

let result = await user.findAndCountAll({
    where: condition,
    attributes: [
       'users.*',
       [Sequelize.fn('COUNT', Sequelize.col('orders.id')), 'orders']
    ],
    include: [
    {
        model: order,
        attributes: [],
        required: false,
    },
    {
        other model
    }
    ],
    order: [
        ["orders", "DESC"]
    ],
    distinct: true,
    offset: 0,
    limit: 10
});

Но я сталкиваюсь с ошибкой типа: (узел: 20820) UnhandledPromiseRejectionWarning:

SequelizeDatabaseError: отсутствует запись в предложении FROM для таблицы "orders".

Любой знает причину или любую альтернативу для архива моего требования.

Заранее спасибо.

...