Stoklar ve anlık görüntüler için bu 1'den çoğa veri modeline sahibim.Kitaplık'ta modellerle birlikte modeller nasıl getirilir?
// stock.js
var bookshelf = require('../config');
var Snapshot = require('./snapshot');
var Stock = bookshelf.Model.extend({
tableName: 'stocks',
hasTimestamps: true,
snapshots: function() {
return this.hasMany(Snapshot);
}
});
module.exports = bookshelf.model('Stock', Stock);
Her stokta birçok veri anlık görüntüsü vardır. Böyle bir Stokta birden Snapshots almaya çalıştıklarında, Ancak
var bookshelf = require('../config');
var Stock = require('./stock');
var Snapshot = bookshelf.Model.extend({
tableName: 'snapshots',
hasTimestamps: true,
stock: function() {
return this.belongsTo(Stock);
}
});
module.exports = bookshelf.model('Snapshot', Snapshot);
: Ben herhangi bir anlık görmüyorum
// report stock
var bookshelf = require('./config');
var Stock = require('./models/stock');
var Snapshot = require('./models/snapshot');
var Promise = require("bluebird");
Stock.fetchAll({
withRelated: ['snapshots'],
debug: true
})
.then(function(collection) {
return collection.mapThen(function(model) {
return model.toJSON();
})
})
.then(function(results) {
console.log(results);
})
.finally(function(r) {
return bookshelf.knex.destroy();
})
.catch(function(e) {
console.log(e);
});
: Bir anlık bir Stok belongsTo
{ method: 'select',
options: {},
bindings: [],
sql: 'select "stocks".* from "stocks"' }
{ method: 'select',
options: {},
bindings: [ 1 ],
sql: 'select "snapshots".* from "snapshots" where "snapshots"."stock_id" in (?)' }
[ { id: 1,
name: '...',
symbol: '...',
created_at: 1460285493918,
updated_at: 1460285493918,
snapshots: [] } ]
Anlık görüntülerini ve join
sorgularını görmeyi beklerdim. Ancak, anlık görüntü dizisi boş. Ne özledim
Teşekkürler!
hmm .. Burada deneyin en azından kod örneğinde, dernek getirmesi değil gibi görünüyor: https://github.com/mulderp/stock_tracker – poseid
'bookshelf.model' 3 argüman alır; "ModelName", "protoProps" ve "staticProps". Örneğiniz 'ModelName' ve' Model' kurucusunu geçiriyor. 'Model'inizi oluşturmak için' bookshelf.Model.extend' yerine, bookshelf.model'nin sizin için yapmasına izin verin. – thebearingedge
teşekkürler! işe yarıyor! PR için de teşekkürler! – poseid