我有以下表格:
--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
我希望在查询中将每个电缆部件检索为数组/对象。 我试过以下关系:
@Model.Cable.belongsToMany @Model.CablePart,
{
through: 'cable_part'
foreignKey: 'cable'
}
我收到此错误:
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)->
修改 这是1:n而不是n:m,使用以下映射仍然会出错:
@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.
答案 0 :(得分:1)
through
和belongsToMany
适用于n:m关联。 through
指定了连接表,因此在您的情况下不需要它。
Include unexpected
错误表明that.Database.Model.CablePart
可能未定义。此外,删除包含的as
部分 - 仅当您在关联中指定as
时才需要