Как я могу заменить значение в запросе, используя узел / Adonis? - PullRequest
1 голос
/ 28 октября 2019

На самом деле моя таблица пользователи имеют один столбец с именем 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 Ответ

1 голос
/ 28 октября 2019

Попробуйте изменить свой цикл следующим образом:

...

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

return users

^ Справка: возможно ли изменить значения массива при выполнении foreach в javascript?

Некоторыеинформация

users[i].rows.User.permission неверна. Попробуйте это:

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