у меня 3 модели. Пользователь, элемент и местоположение.
User.hasMany(Item)
Location.hasMany(Item)
Item.belongsTo(User)
Item.belongsTo(Location)
запускается, но не создает внешний ключ местоположения или строку местоположения в таблице местоположений.
models.User.create(
{
username: 'ddavids',
email: 'hello@david.com',
password: '12345678',
items: [
{
itemName: 'Good Book',
orderDate: '2020-01-20',
locations: { locationName: 'floor' }
},
{
itemName: 'Bad Book',
orderDate: '2020-01-21',
locations: { locationName: 'shelf' }
}
]
},
{
include: [{ model: models.Item, include: [models.Location] }]
}
)
Это создает объекты и местоположения правильно, но очевидно, не под пользователем.
models.Location.create(
{
locationName: 'floor',
items: [
{
itemName: 'Good Book',
orderDate: '2020-01-20',
locations: { locationName: 'floor' }
},
{
itemName: 'Bad Book',
orderDate: '2020-01-21',
locations: { locationName: 'shelf' }
}
]
},
{ include: [models.Item] }
)
Чего я не могу понять, так это того, что мои отношения неверны в go по этому поводу, или это ограничение создания, и я должен идти дальше или что , Моей конечной целью будет что-то вроде.
User.hasMany(Order)
Order.belongsTo(User)
Order.hasMany(Item)
Item.belongsTo(Order)
Location.hasMany(Item)
Item.belongsTo(location)
Supplier.hasMany(Item)
Item.belongsTo(Supplier)
В настоящее время я использую команду create только для создания поддельных данных, когда я делаю изменения. Так что, если есть лучший способ заполнить базу данных, это будет моей конечной целью.