разделить соединение в предложении where, чтобы связать две таблицы - PullRequest
0 голосов
/ 27 марта 2019

У меня есть две таблицы t1 и t2, относящиеся как один ко многим, t1 имеет идентификатор первичного ключа, а t2 - идентификатор внешнего ключа

Как я могу выполнить запрос в sequalize, чтобы найти записи из t2, которые имеют t1.id = 'value', используя соединения

он должен давать разрешение, так как следующий запрос sql дает

SELECT[t2].[id], [t2].[c1], [t2].[c2], [t2].[c3], [t2].[c4], [t1].[id] AS[t1.id], [t1].[cID] AS[t1.cID] FROM[t2] AS[t2] INNER JOIN[t1] AS[t1] ON[t2].[id] = [t1].[id] AND[t1].[cID] = 'value' WHERE[t2].[sF] = 'value';

1 Ответ

1 голос
/ 28 марта 2019

1-й мы должны связать две таблицы t1 и t2, в соответствии с данной информацией эта ассоциация должна иметь вид

t1.hasMany (t2, {foreignKey: 'id'});

t2.belongsTo (t1, {foreignKey: 'id'})

тогда

t2.findAll(
  {
  attributes: ['id','c1','c2','c3','c4'
  ],
  required: true,
  where: {
    sF: 'value',
  },
  include: [
    {
      model: t1,
      attributes: ['cID'],
      required: true,
      where: {
        cID:'value',
      }
    }
  ]
}  ).then((result)=>{console.log(result)})

при условии, что t1 и t2 являются моделями, объявленными в sequalize

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...