Ich versuche, neue Filter erstellen und drucken (console.log) die ID des gerade erstellten Objekts, aber es nicht in die .then-Funktion eingeben. Hier ist der Code:Sequelize- Keine Rückgabeversprechen nach dem Erstellen eines Instance
var Sequelize = require('sequelize');
var FilterModel = require('../models/filters');
var Filter = new FilterModel(Database, Sequelize);
Filter.create({ name: data.filter_name }).then(function(filter) {
console.log('***************************************');
});
Und die '**' nicht gedruckt, aber der Eintrag in der DB.
Als ich versuchte, wie dies zu tun:
var filter = Filter.create({ name: data.filter_name })
Und print ‚Filter‘ Ich habe die neue Instanz mit dem created_at usw. bekam aber die ID ist NULL.
Die id wie folgt definiert:
id: {
allowNull: false,
autoIncrement: true,
primaryKey: true,
type: Sequelize.INTEGER
},
Bitte jemand helfen kann, was hier los?
Danke!
Sind Sie sicher, dass Filter.create() ein Versprechen oder mindestens ein aktuelles Objekt zurückgibt? Wenn dies der Fall ist, wurde das Versprechen möglicherweise zurückgewiesen, sodass Sie versuchen könnten, eine zweite Funktion hinzuzufügen, um das Ergebnis der Ablehnung abzufangen. – Redu
Ihr 'new FilterModel()' sollte 'Sequelize.define()' Objekt zurückgeben –
@TilekbekovYrysbek Ich definiere es bereits im Modell. – Zvi