я следующие таблицы:Sequelize 1: п объединение
--Cable--
|id|name|
--Cable_Part--
|id|fk_cable|data|
Пример данные:
Cable:
1 - Cable One
Cable_Part:
1 - 1 - Some data
2 - 1 - More data
3 - 1 - Even more data
Я хотел бы получить каждый из этих кабельных частей как массива/объекта в моем запросе. Ive пытался следующие соотношения:
@Model.Cable.belongsToMany @Model.CablePart,
{
through: 'cable_part'
foreignKey: 'cable'
}
Im получаю эту ошибку:
Possibly unhandled Error: CablePart (CablePart) is not associated to Cable!
Кроме того, кажется, что hasMany нежелателен я получаю это сообщение, если я пытаюсь использовать его
Using 2 x hasMany to represent N:M relations has been deprecated. Please use belongsToMany instead
Я уверен, что эта ассоциация должна быть легкой в использовании, но похоже, что она не работает, что я пытаюсь сделать ,
Запросов я пытаюсь сделать:
that.Database.Model.Cable.all(
include:
[
{
model: that.Database.Model.CablePart
as: 'CablePart'
}
]
).then (cables)->
EDIT: Это 1: п не: м, используя следующее отображение еще выдает ошибку:
@Model.CablePart.belongsTo @Model.Cable,
{
foreignKey: 'cable'
}
@Model.Cable.hasMany @Model.CablePart,
{
foreignKey: 'cable'
}
Ошибка:
Possibly unhandled Error: Include unexpected. Element has to be either a Model, an Association or an object.
'that.Database.Model.CablePart' не является неопределенным. Но, похоже, это «ошибка» с sequelize _maybe_. Кажется, что это ошибка, когда у кабеля нет каких-либо частей кабеля, так как он отлично работает со следующим кодом 'database.Model.Cable.find ( { где: id: 4706 включает: [database.Model.CablePart ] } ) .then (детали) -> консоль.log части'. Я удалил опцию «Как», но это не имело никакого значения. Также попытался добавить'allowNull: true'in mapping без везения. –
Это звучит странно - ошибка о неожиданных включениях бросается до того, как запрос попадает в базу данных, поэтому не имеет значения, есть ли какие-либо связанные объекты или нет. –
кажется, что он исправил себя, просто перезапустив базу данных. Однако я бы не подумал, что это общее решение. –