我有以下实体:
var Group = sequelize.define("Group", { name: Sequelize.STRING });
var Course = sequelize.define("Course", { name: Sequelize.STRING });
var GroupHasCourse = sequelize.define("GroupHasCourse", { name: Sequelize.STRING });
var Student = sequelize.define("Group", { name: Sequelize.STRING });
以及以下关联:
Course.hasMany(GroupHasCourse, { as: "GroupsOnCourses"});
Group.hasMany(GroupHasCourse, { as: "CoursesOnGroups"});
GroupHasCourse.hasMany(Student, { as: "Students"});
两个问题:
- 这是在小组-课程关系之间建立联系以使学生进入主题的最佳方式吗?
我正在执行以下查询:
Course.findAll({include:[{model:GroupHasCourse, as:"GroupsOnCourses"}]}).success(function(courses){ // courses[0].groupsOnCourses[0].GroupId })
我怎样才能得到那个查询中的左连接,所以我不需要做另一个查询
Group.find(courses[0].groupsOnCourses[0].GroupId)