代码之家  ›  专栏  ›  技术社区  ›  adam tropp

如何引用在bookshelf.js中创建的记录?

  •  0
  • adam tropp  · 技术社区  · 6 年前

    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未定义,而且,这不是引用我要查找的会话的正确方法。那么,正确的方法是什么呢?另外,如果我能够让它工作,我正在尝试将duration属性设置为当前时间-以分钟为单位创建的时间。因为它们都只是时间戳,我如何将这个值转换成分钟?谢谢!

    1 回复  |  直到 6 年前
        1
  •  1
  •   devius    6 年前

    您必须先获取模型,否则它将不会从您的数据库中获取任何数据:

    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);
        });
    });