2016-07-04 4 views
0

Я прочитал Operation hooks и понял понятие «не привязан к конкретному методу». Поэтому я хотел бы знать, возможно ли установить свойство перед обновлением модели.Установить свойство до обновления

У меня есть свойство updatedAt в моей модели пользователя, и я хочу установить его в new Date(); во всех вызовах глагола PUT.

Я ничего не пробовал, потому что я не нашел ответа в документах или в stackoverflow.

Спасибо.

ответ

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

Thanks @IvanSchwarz !! –

Смежные вопросы