在bookshelf.js中手动设置时间戳记值
我有一个表设置了时间戳和书架configuration使用它们。 通常情况下,所有事情都会发生,因为它应该和书架照顾的时间戳,但我有一个情况下,我想指定他们,但是当我尝试这样做的值被忽略,并使用当前date。
我试图简化我的用例到基本要点:
var Author = Bookshelf.Model.extend({ tableName: 'authors', hasTimestamps: ['created_at', 'updated_at'], bookAuthors: function(){ return this.hasMany(require('.book_authors')); }, associateBookWithAuthor(bookId,timestamp) { return self.related('bookAuthors').create({ book_id: bookId, updated_at: timestamp, // ignored by bookshelf created_at: timestamp // also ignored }) } }
我仍然想要保持为常规用例configuration的hasTimestamps
。 是否有可能让Bookshelf让我重写时间戳行为?
查看Bookshelf源代码created_at和updated_at在创build/插入时根据需要设置,并且从未读取您传入的模型: https : //github.com/tgriesser/bookshelf/blob/c83ada77d5c670a773c0b47c604b452cd0e03e86/src/base/model.js #L413
这使我的目标不可能。 反映在这似乎是一个好主意,不要重载这些列,并创build另一列我试图存储的date。