2016-04-05 16 views
0

私はNode、KoaおよびWeb開発で新しく、クエリからテンプレートにデータを送信しようとしています。 ORMとしてBookshelfjsを使用しています。Koaのdbクエリの結果にどのようにアクセスしますか?

module.exports = { 

    /** Get user info by id */ 
    getId: function * getId (next) { 

     // var user = { username: 'lucas', passowrd: 'lucas' }; 

     userMng.findById(this.params.id, (err, user) => { 

      this.body = yield this.render('id', { 
       title: 'Show detailes about item: ' + this.params.id, 
       data: user 
      }); 

     }); 

     yield next; 
    } 
} 
+0

「findById」とは何ですか?どこから来たのですか?私はbookshelfjsでそのメソッドへの参照を見つけることができません。そしてその点について、 'userMng'とは何ですか?それは本棚モデルですか? – dvlsg

+0

srry、これを見てください[モジュール](http://pastebin.com/Krus36a8) –

+0

ただ、 'user.where( 'uid'、id).fetch()'をkoaの中に入れれば、 'user'が返されます。 – dvlsg

答えて

0

Promiseインターフェイスを使用します。私はfindByIdが何であるかわからないので、その文書から変更された例を挙げます。

module.exports = { 

    /** Get user info by id */ 
    getId: function * getId (next) { 

     // assume User is a bookshelf model. 
     // probably userMng in your case, but it's hard to say without more code. 
     let user = yield User.where('id', this.params.id).fetch(); 

     this.body = yield this.render('id', { 
      title: 'Show detailes about item: ' + this.params.id, 
      data: user 
     }); 

     yield next; 
    } 
}; 
関連する問題