Как я могу сослаться на запись, которая была создана в bookshelf.js? - PullRequest
0 голосов
/ 24 октября 2018

Я пытаюсь обновить запись, используя bookshelf.js.Когда я обновляю его, я хочу сослаться на метку времени, с которой он был создан.Код, который у меня есть, выглядит следующим образом:

router.patch('/session/:id', (req,res) => {  
  const time = new Date() 
  console.log(time.getTime()) 
  Session
    .forge({id: req.params.id})
    .save({isTermed: true, duration: time.getTime() - Session.created_at})
    .then((session) => {
      res.json(session);
   })
    .catch((error) => {
      console.error(error);
      return res.sendStatus(500);
    });
}); 

Однако я думаю, что Session.created_at не определен и, более того, это неправильный способ ссылки на сеанс, который я ищу.Итак, как правильно?Кроме того, если бы я смог заставить это работать, я пытаюсь установить атрибут длительности как текущее время - созданное время в минутах.Так как они являются просто временными метками, как бы я преобразовал это значение в минуты?Спасибо!

1 Ответ

0 голосов
/ 25 октября 2018

Сначала вы должны получить свою модель, иначе она не будет иметь никаких данных из вашей базы данных:

router.patch('/session/:id', (req,res) => {  
  const time = new Date() 
  console.log(time.getTime()) 
  Session
    .forge({id: req.params.id})
    .fetch()
    .then((session) => {
      return session.save({
        isTermed: true,
        duration: time.getTime() - session.created_at
      })
    })
    .then((session) => {
      res.json(session);
    })
    .catch((error) => {
      console.error(error);
      return res.sendStatus(500);
    });
}); 
...