Model.updateAttribute ничего не обновляет - PullRequest
0 голосов
/ 05 июля 2019

Я пытаюсь обновить атрибут, но он совсем не меняется

Я пробовал с upsertWithWhere без удачи

У меня есть эта модель

{
  "name": "worker",
  "plural": "workers",
  "base": "PersistedModel",
  "idInjection": false,
  "options": {
    "validateUpsert": true
  },
  "properties": {
    "id": {
      "type": "number",
      "id": true
    },
    "name": {
      "type": "string"
    },
    "company-name": {
      "type": "string"
    },
    "email": {
      "type": "string"
    },
    "orderId": {
      "type": "number"
    }
  }

и когда я создаю новый экземпляр, у меня появляется это

{ name: 'trabajador',
  'company-name': 'ibm',
  email: 'e@mail.com',
  id: 1 }

Но когда я пытаюсь обновить его с помощью этой функции

await Worker.findOne({where: {id:workerId}}).then(res => {
                if (!res) { throw "There are no workers with Id " + workerId }
                console.log(res)
                res.updateAttribute({orderId: orderId}).then(res => {console.log(res)}).catch(err => {throw err})
            }).catch(err => {throw err})

Это ничего не делает.Он возвращает тот же экземпляр без требуемого атрибута orderId.

Я ожидаю, что на выходе будет что-то вроде

{ name: 'trabajador',
  'company-name': 'ibm',
  email: 'e@mail.com',
  id: 1,
  orderId: 1
 }

, но вместо этого я получаю его без orderId

1 Ответ

0 голосов
/ 06 июля 2019

Использование:

res.updateAttribute('orderId', orderId); // one attribute

или

res.updateAttributes({orderId: orderId}); // multiple attributes
...