0
在模型PUT上,我需要根據其原始值進行自定義驗證。 在beforeUpdate模型鉤子裏面,我可以通過'this'關鍵字訪問'next'函數,'request body'對象(如beforeUpdate參數)並更新模型本身。Loopback:在模型鉤子中獲取模型更改
有沒有辦法得到原始模型或其變化,而不從數據庫中查詢它?
它甚至有可能更新模型鉤子內的當前模型(因爲更改'this'屬性不生效)?
在模型PUT上,我需要根據其原始值進行自定義驗證。 在beforeUpdate模型鉤子裏面,我可以通過'this'關鍵字訪問'next'函數,'request body'對象(如beforeUpdate參數)並更新模型本身。Loopback:在模型鉤子中獲取模型更改
有沒有辦法得到原始模型或其變化,而不從數據庫中查詢它?
它甚至有可能更新模型鉤子內的當前模型(因爲更改'this'屬性不生效)?
聲明:我是一個LoopBack開發人員。
有沒有辦法得到原始模型或其變化,而不從數據庫查詢它?
不,這是不可能的。
看一看的updateAttributes()
在loopback-datasource-juggler/lib/dao.js的代碼,這被稱爲當你請求PUT /models/:id
:
inst.setAttributes(data);
inst.isValid(function (valid) {
if (!valid) {
if (cb) {
cb(new ValidationError(inst), inst);
}
} else {
inst.trigger('save', function (saveDone) {
inst.trigger('update', function (done) {
// etc.
該模型執行任何掛鉤之前更新。
有一個問題。有什麼方法可以通過模型鉤子訪問像accesstoken或userID這樣的請求標頭? PLease在這裏看到的問題 http://stackoverflow.com/questions/26927791/access-request-headers-from-beforesave-model-hook – 2014-11-17 05:12:58