team table match table
=========== ================================
tid= name mid= date =home_team=away_team
============= ================================
01 = denver 01 =10.11.13 = 01 = 04
02 = minesota 02 =11.11.13 = 02 = 03
03 = orlando 03 =11.11.13 = 04 = 02
04 = portland 04 =12.11.13 = 03 = 01
У меня есть классическая проблема SQL JOIN - заполнены данные соответствия и не могут получить имена домашних и отдаленных команд, которые находятся в другой таблице.Получить значения из связанной таблицы с Sequelize.js
var Team = sequelize.define('Team', { ... });
var Match = sequelize.define('Match',{ .. });
Team.hasOne(Match, {foreignKey: 'home_team', as: 'Home'})
Team.hasOne(Match, {foreignKey: 'away_team', as: 'Away'});
Как я понял из Docs после создания as: 'Home
и as: 'Away
я получить некоторые добытчиками и сеттеров, как Match.getHome
, но я запутался. как я могу использовать его
Match.find({where: {id: 1}}).success(function(match) {
console.log(match);
});
Большое спасибо. Я очень смущен всеми этими «.hasOne()» и «.belongsTo()» – khex
. Вы не единственный, мы часто задаем им вопросы. В документах есть TODO, чтобы сделать типы связей более четкими, вы можете добавить свой голос там, если хотите https://github.com/sequelize/sequelize-doc/issues/80 (я сторонник продолжения, это почему я так хорошо знаю ассоциации :)) –
Я не совсем уверен, что вы подразумеваете под этим последним комментарием? Не могли бы вы обновить свой вопрос с результатом, которого хотите достичь? –