我如何使用 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
实际上我的 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