我附上了表结构:
我构建了 SQL
这是我的 sql:
选择
批评家.id,
批评家.批评家,
批评家.etat,
从
public.histo_jobs,
公共(public)工作,
公众批评家
在哪里
histo_jobs.job_id = jobs.id 和
批评家.jobid = 工作.id;
我在我的模型之间创建了这些关系:
Jobs.belongsTo(Criticte , {foreignKey : 'jobid'} );
Criticte.hasMany(Jobs);
HistoJobs.belongsTo(Jobs, {foreignKey : 'job_id'});
Jobs.hasMany(HistoJobs);
批评家.find({
包括:[ {model:HistoJobs} , {model: Jobs}, {model: HistoJobs} ],
}).complete(function(err, resultFound){...
我得到了错误:
错误:histo_job 与批评无关!。
有人可以帮我吗?
非常感谢
最佳答案
使用您当前的设置,我建议使用嵌套急切加载。正如@dan-rocha 已经提到的那样,您只能急切加载直接关联的模型,这就是为什么您会收到关于 histo_jobs 未与批评者关联的错误。没有直接的 histojobs belongsTo/hasOne/hasMany 批评者。
尝试类似:
Criticte.find({
include: [
{ model: Jobs, include: [
{ model: HistoJobs }
]}
]
})
关于sequelize.js - Sequelize 3 表 : lost with relations,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21938780/