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

时间:2019-10-28 11:34:01

标签: node.js adonis.js

实际上我的表 users 中有一个名为permission的列,该列存储值:1,2和3。

我有这个查询,我返回所有用户,我需要将值权限替换为:1替换为“管理员” 2替换为“普通用户” 3替换为“学生”

我这样尝试:

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()找不到用户。 我如何更改此值?有没有办法使用清醒模型来做到这一点?

1 个答案:

答案 0 :(得分:1)

尝试像这样改变循环:

...

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