Ich benutze Sequilize auf node.js und Express, um eine API zu erstellen, die meine Reaktion mit diesem Tutorial http://mherman.org/blog/2015/10/22/node-postgres-sequelize/#.WSJ77BMrLBL zugreifen kann. Ich kann die Datenbank nicht mit einem Objekt füllen, das als Geschäft mit Produkten bezeichnet wird. Was ich ab jetzt haben, ist:Sequelize verwenden, um eine API mit hasMany Beziehung postgresql
Routen:
// get all stores
router.get('/stores', function(req, res) {
models.Store.findAll({}).then(function(stores) {
res.json(stores);
});
});
// get single store
router.get('/stores/:id', function(req, res) {
models.Store.find({
where: {
id: req.params.id
}
}).then(function(store) {
res.json(store.productId);
});
});
// add new store
router.post('/stores', function(req, res) {
models.Store.create({
name: req.body.name,
productId: req.body.product_id
}).then(function(store) {
res.json(store);
});
});
store:
'use strict';
module.exports = function(sequelize, DataTypes) {
var Store = sequelize.define('Store', {
name: {
type: DataTypes.STRING,
defaultValue: ""
},
description: {
type: DataTypes.STRING,
defaultValue: ""
},
phone: {
type: DataTypes.STRING,
defaultValue: ""
},
email: {
type: DataTypes.STRING,
defaultValue: ""
},
image_url: {
type: DataTypes.STRING,
defaultValue: ""
},
}, {
classMethods:{
associate:function(models){
Store.hasMany(models.Product, { foreignKey: 'productId'});
}
}
});
return Store;
}
aber wenn ich laufen curl --data "name=test&product_id=1" http://127.0.0.1:5000/stores
i erhalten: {"description":"","phone":"","email":"","image_url":"","id":2,"name":"test","updatedAt":"2017-05-22T05:43:10.376Z","createdAt":"2017-05-22T05:43:10.376Z"}
und wenn ich auf der Ebene speichert Seiten Ich bekomme das gleiche, aber kann nicht die productIds
Was mache ich falsch? Kann mir bitte jemand Anleitung geben?
Dank!
das ist es, danke !! Ich wusste, dass es etwas Einfaches war – seanscal