我如何使用 node/adonis 替换查询中的值?

How i can replace a value in a query using node/adonis?

实际上我的 table 用户 有一个名为 permission 的列存储值:1,2 和 3。

我有这个查询,我 return 所有用户,我需要将值权限替换为: 1 替换为 'Admin' 2 替换为 'Normal User' 3 替换为 'Students'

我这样试试:

async index({request}) {
    const page = request.input('page')
    const pageSize = request.input('pageSize')
    const users = await User.query().paginate(page, pageSize)
    for(let i=0; i<users.rows.User;i++){
        console.log(users)
        if(users[i].rows.User.permission === 1){
            users[i].rows.User.permission = 'Admin'
        }
    }
    return users
}

但是我的 for() 没有找到用户。 我怎样才能改变这个值?有没有一种方法可以使用清晰的模型来做到这一点?

试着像这样改变你的循环:

...

users.rows.forEach((user, index, users) => { // see below
   if(user.permission === 1){
       users.rows[index].permission = 'Admin'
   }
   ...
})

return users

^ 帮助:is it possible to change values of the array when doing foreach in javascript?

一些信息

users[i].rows.User.permission 是错误的。试一试:

// Do not use .User
users.rows[i].permission