2017-09-13 7 views
2

Objection.jsとknex.jsを使用してテーブルに新しいオブジェクトを追加したいobjection.jsとknex.jsを使ってテーブルに新しいオブジェクトを追加するには?

const Provider = require('../models/provider); 

Provider 
.query() 
.where('ProviderName', name) 
.then((data) => { 
    if (data.length === 0) { 
    Provider 
     .query() 
     .insert({ ProviderName: name, 
     ProviderWebSite: webSite, 
     ProviderContact: contact, 
     ProviderStatus: status }) 
     .then(() => { 
     res.render('results', { result: req.body }); 
     }); 
    } else { 
    res.render('results1'); 
    } 
}) 
.catch(() => { 
    res.render('404'); 
}); 

ページはまだリロードし、私はまだ空のページresultsとテーブルを取得していない問題:私はこのコードを書きました。

答えて

1

あなたはおそらくこれが与えるこれはあなたのcatchブロックが404

を放出されたときにスローされたものをエラープリントアウトする必要があります失敗した理由のエラーを取得するためにあなたの約束チェーンから少なくとも1つのリターンが欠落しているように見えるが、あなたは少し詳しい情報:

const Provider = require('../models/provider'); 

Provider 
    .query() 
    .where('ProviderName', name) 
    .first() 
    .then(result => { 
    if (!result) { 
     return Provider 
     .query() 
     .insertAndFetch({ 
      ProviderName: name, 
      ProviderWebSite: webSite, 
      ProviderContact: contact, 
      ProviderStatus: status 
     }); 
     } 
     return result; 
    }) 
    .then(() => { 
    // before rendering views, making sure that correct data was fetched 
    res.send('result ' + JSON.stringify(result, null, 2)); 
    }) 
    .catch(err => { 
    // print out error to be able to debug your problem 
    res.send('404 ' + err.stack); 
    }); 
関連する問題