Der Versuch, durch die einfachsten Beispiele von Bücherregal zu arbeiten, aber nicht über eine Eins-zu-viele-Beziehung mit "withRelated" in einer Fetch-Anweisung. Hier ist mein Code (mit einigen Dingen für die Privatsphäre entfernt) eine Eins-zu-viele von B nach A. darstelltBookshelf JS: "this.hasOne" ist keine Funktion
"use strict";
var knex = require('knex') ({
client: 'mysql',
connection: {
host: '127.0.0.1',
user: '*******',
password: '*******',
database: '*******',
charset: 'utf8'
}
});
var bookshelf = require('bookshelf')(knex);
var A, B
A = bookshelf.Model.extend({
tableName: 'A',
propB:() => {
return this.hasOne(B, 'A_id')
}
B = bookshelf.Model.extend({
tableName: 'B',
propA:() => { return this.belongsTo(A, 'A_id') }
})
A.forge().fetch({withRelated: ['propB']}).then(function(x){console.log(x)})
Allerdings läuft diese erhalte ich „Unbehandelte Ablehnung Typeerror: this.hasOne ist keine Funktion“ Bezug nehmend auf this.hasOne in A. Wenn ich die "withRelated" -Klausel entferne, läuft sie genauso wie erwartet und gibt den korrekten Eintrag in der Datenbank zurück.
Warum erhalte ich diesen Fehler? Weitere Informationen: NodeJS: v4.4.1 Bücherregal: v0.9.4
Vielen Dank! – nobillygreen
Ich hatte das gleiche Problem und mit der ES5-Funktion() {} behoben. – fraxture