2014-02-21 53 views
1

試行查詢生成器knex.js,http://knexjs.org/knex JS,選擇工作,但不能刪除

exports.deleteProduct = function(inputs, callback) { 
    //Working 
    knex("products").select().exec(function(err, resp) { console.log(resp) }); 

    //Not working 
    knex("products").del().where("pr_id", 349).exec(function(err, resp) {   console.log(resp) });;  
} 

select語句工作得很好。但不刪除,也試過更新。響應是0.記錄還沒有被刪除,檢查了數據庫。如果我運行console.log(err),我也不會收到任何錯誤。

任何想法?

+0

knexjs報告受影響的行數。它在沒有錯誤的情況下返回「0」意味着沒有行受到影響。嘗試將'.where()'放在select語句上,並在刪除之前查看是否有任何行。 – clay

+0

Thx! Knex.js比sql字符串混亂得多。 Thx在我之前的問題中提示。 – Per

回答

0

已解決。我將where子句改爲一個對象。

/* 
DELETE /api/project/products/:pr_id HTTP/1.1 
*/ 
exports.deleteProduct = function(inputs, callback) { 
    var query = knex("products") 
    .del() 
    .where({ 
     pr_id:inputs.params.pr_id 
    }); 

    query.exec(function(err){ 
    if(err) return callback(err); 
    sendResponse(callback); 
    }) 
}