Как избежать явного использования имени столбца внешнего ключа в запросе? - PullRequest
0 голосов
/ 21 апреля 2020

У меня есть следующие ассоциации в модели Sequelize

class Bet extends Model {};
class User extends Model {};

User.hasMany(Bet);
Bet.belongsTo(User);

Это создает столбец UserId FK в таблице ставок, но мне действительно не важно, как Sequelize назовет его.

Теперь, имея в руках экземпляр пользователя, я хочу запросить одну строку Bet, в которой столбец внешнего ключа UserId равен идентификатору экземпляра.

Запрос не должен быть преобразован в LEFT или другое JOIN. Я хотел бы иметь запрос, подобный SELECT * FROM Bets WHERE UserID = 6

, который я пытался использовать, но он всегда вызывает соединения, а это не то, что мне нужно. Так что я знаю только

Bet.findOne({
    where: {
        UserId: user.id
    }
});

, но я хочу избежать использования явного имени столбца внешнего ключа.

Вопрос: Как запросить таблицу, содержащую столбец внешнего ключа, без указания имени столбца и без соединений.

...