2015-07-25 11 views
5

Mam tabelę skonfigurowaną tak, aby znaczniki czasowe i półka na książki były skonfigurowane do ich używania. Zwykle wszystko dzieje się tak, jak powinno, a półka z książkami zajmuje się sygnaturami czasowymi, ale mam przypadek, w którym chcę je określić, ale gdy próbuję to zrobić, wartości są ignorowane i używana jest aktualna data.Ręczne ustawianie wartości datownika w bookshelf.js

Próbowałem uprościć mój przypadek użycia w dół do minimum:

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 
    }) 
    } 
} 

ja nadal chce utrzymać hasTimestamps skonfigurowany dla zwykłych zastosowań. Czy jest możliwe, aby Bookshelf pozwolił mi zastąpić zachowanie znacznika czasu?

Odpowiedz

4

Po patrząc na źródłowym created_at Bookshelf i updated_at są ustawione na tworzenie/wstawić jako konieczne i nigdy odczytać z modelu przepustkę: https://github.com/tgriesser/bookshelf/blob/c83ada77d5c670a773c0b47c604b452cd0e03e86/src/base/model.js#L413

To sprawia, że ​​mój cel niemożliwy. Zastanawiając się nad tym, wydaje się dobrym pomysłem, aby nie przeciążyć tych kolumn i utworzyć kolejną kolumnę dla daty, którą próbuję przechowywać.

Powiązane problemy