【问题标题】:How i can replace a value in a query using node/adonis?如何使用 node/adonis 替换查询中的值?
【发布时间】:2019-10-28 11:34:01
【问题描述】:

实际上,我的表 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() 没有找到用户。 我怎样才能改变这个值?有没有办法使用 lucid 模型来做到这一点?

【问题讨论】:

  • Console.log users 并使用输出更新您的问题。

标签: node.js adonis.js


【解决方案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

【讨论】:

    猜你喜欢
    • 2020-05-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-25
    • 2014-10-14
    • 2020-11-05
    相关资源
    最近更新 更多