簡體   English   中英

當我使用findById(req.params.id)時,我的Sequelize查詢始終會做出錯誤的查詢

[英]My Sequelize Query always make wrong query when I use findById(req.params.id)

因此,我嘗試進行更新查詢,但是每次運行查詢時,總是會得到錯誤的查找ID。 這是我第一次遇到這樣的錯誤。 在我的其他項目中,這永遠不會發生

QuestionController.updateQuestionAnswer = async (req, res, next) => {
    try {
        const questionAnswer = await QuestionAnswer.findById(req.params.id)
        console.log(questionAnswer)
        res.status(200).send({
            status_code: 200,
            questionAnswer,
            message: 'Updated'
        })
    } catch(error) {
        console.log(error)
        return res.status(500).send({ status_code: 500, message: error })
    }
}

錯誤根據ID在哪里找到答案

您應該將其更改為WHERE子句,因為只有在具有一個鍵(例如,普通Id )的FindById下才可以使用FindById ,而在有多個鍵(Answer_Id和Question_id)或沒有鍵的情況下,則不能使用FindById。

const questionAnswer = await QuestionAnswer.where(x => x.question_id == req.params.id)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM