2016-07-04 20 views
0

私はOperation hooksを読んで、「特定の方法に結びつかない」という概念を理解しました。だからモデルを更新する前にプロパティを設定することが可能かどうかを知りたいです。更新前のプロパティを設定してください

私は自分のUserモデルにupdatedAtプロパティを持っていますが、これをPUT動詞のすべての呼び出しでnew Date();に設定します。

私はドキュメントやスタックオーバーフローで答えを見つけることができないので、私は何も試していませんでした。

ありがとうございました。

答えて

0

operation hooksを使用する:

module.exports = User => { 
    User.observe('before save', (ctx, next) => { 
    if (ctx.instance) { 
     ctx.instance.updatedAt = new Date() 
    } else { 
     ctx.data.updatedAt = new Date() 
    } 
    next() 
    }) 
} 

あなたがモデルのセットに、この共通のロジックを適用したい場合は、mixinsは通常、移動するための方法です。あなたが自分でこれを実装したくない場合は

module.exports = (Model, options) => { 
    Model.defineProperty('updatedAt', { type: Date, default: '$now' }) 

    Model.observe('before save', (ctx, next) => { 
    if (ctx.instance) { 
     ctx.instance.updatedAt = new Date() 
    } else { 
     ctx.data.updatedAt = new Date() 
    } 
    next() 
    }) 
} 

は、利用できるそれのためnpm packageがあります。

+0

ありがとう@IvanSchwarz !! –

関連する問題