小编Waw*_*nto的帖子

像 Laravel 在模型内获取属性函数一样在虚拟列内进行 Sequelize 查询?

我想从用户模型计算排名,其中排名只是数字。排名示例:

  • 铜牌:50分
  • 银:100分
  • 金币:200点

当用户等级达到150点时,应该是白银等级。我可以通过查询排名表来从虚拟列计算排名以获取排名名称吗?

"use strict";
module.exports = (sequelize, DataTypes) => {
const Rank = sequelize.define("Rank", {
   name: DataTypes.STRING,
   tier_total: DataTypes.INTEGER
});
const UserGameID = sequelize.define(
"UserGameID",
{
  user_id: DataTypes.INTEGER,
  total_win: {
    type: DataTypes.INTEGER,
    defaultValue: 0
  },
  total_lose: {
    type: DataTypes.INTEGER,
    defaultValue: 0
  },
  total_match: {
    type: DataTypes.INTEGER,
    defaultValue: 0
  },
  total_point: {
    type: DataTypes.INTEGER,
    defaultValue: 0
  },
  rank: {
    type: DataTypes.VIRTUAL,
    get: async function() {
      var rank = await Rank.findOne({
        where: {
          tier_total: { $lte: this.total_point }
        }, …
Run Code Online (Sandbox Code Playgroud)

node.js sequelize.js

5
推荐指数
0
解决办法
931
查看次数

标签 统计

node.js ×1

sequelize.js ×1