我想使用Expres.jsknex.js渲染两个表,该表仅用于一个get函数,以便在一个HTML模板中使用两个表中的数据。当我仅查询一个表(学校或学生)但不知道如何处理两个表时,此方法有效。
有什么建议吗?

app.get('/schools', function(req, res) {

    knex.select()
    .from('schools', 'students')
    .then(function(schools, students) {
        res.render('schools', {
            schools: schools,
            students: students
        });
    }).catch(function(error) {
        console.log(error);
    });
});

最佳答案

您的方法确实有效,但是我建议您使用这种惯用法以避免promise hell(有关更多示例,请参阅链接。)

router.get("/schools",function(req,res){
  var schools
  knex("schools").select().then(function(ret){
    schools=ret
    return knex("students").select()
  }).then(function(students){
    res.render("schools",{
      students: students,
      schools: schools
    })
  })
})

09-25 17:34